On Sat, Jun 07, 2014 at 01:57:50PM -0700, Thiago Macieira wrote:
> 
> The Microsoft compiler has a separate switch for whether you're building 
> against the static runtime or the dynamic runtime, and whether you're using 
> the debug version or the release version (-MT, -MTd, -MD, -MDd). Because of 
> the debug/release split of Visual Studio, Qt on Windows inherited the split 
> and hence has two DLLs for each module.
> 
> If you set CONFIG of "debug", it will add a "d" to the DLL name. Since Fedora 
> and OpenSUSE only have release DLLs, you need to use a CONFIG of "release" 
> but 
> just compile Subsurface code with -O0 -g (the QMAKE_C...FLAGS_DEBUG variables 
> contain the -g).

They do.

> In time: on Mac, Qt also has a similar split. Qt can build in debug-and-
> release mode. But, unlike Windows, you always link to just the plain library 
> name. To trigger the loading of the debug libraries, you have to set 
> DYLD_IMAGE_SUFFIX=_debug in the environment.
> 
> Qt 4.0 and 4.1 had that split on Linux as well, but it was removed by 4.2 
> because it was a headache for everyone. It would be nice if ld-linux.so had a 
> similar environment variable as Mac's dyld.
> 
> > I reverted Linus' patch, added these two lines, rebuilt the binary (after
> > making clean) and installed on Windows. Same problem, same crash report
> > devoid any information whatsoever.
> > 
> > So I'm missing something, right? :-)
> 
> Well, first thing is to check whether the flags applied. The Makefile should 
> have 
> them as the last thing in CFLAGS and CXXFLAGS before $(DEFINES).

Yep. And then I assume I need to run the binary under some debugger on the
Windows side (which of course I don't have installed)...

/D
_______________________________________________
subsurface mailing list
[email protected]
http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to