How to set the QT_DLL macro?

Angus Leeming leeming at lyx.org
Fri Apr 22 17:43:39 CEST 2005


Ralf Habacker wrote:

> On Friday 22 April 2005 13:32, Angus Leeming wrote:
>> Angus Leeming wrote:
>> >> On cygwin I'm using the following switch, which may help to prevet
>> >> seg faults. It requires a relink of the qt-3.dll
>> >> QMAKE_LFLAGS            =
>> >> -Wl,--script,$(QTDIR)/mkspecs/cygwin-g++/i386pe.x-no-rdata
>> >
>> > Now that is very, very interesting. I'll try it out. (Am I correct to
>> > say that only the dll needs to be re-linked?
>>
>> Hi, Ralf.
>>
>> I have some good news and some bad news to report.
>>
>> a cross-compiled LyX/Win 1.3.x runs beautifully on Windows, but only
>> when I use a natively compiled qt3.dll. If I try and use the
>> cross-compiled qt3.dll, then I get the dreaded popup "The application
>> failed to initialise itself correctly".
> 
>> This is true both with a qt3.dll using the 'standard' linker options
>>
>> QMAKE_LFLAGS            = -Wl,-enable-stdcall-fixup
>> -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
>>
>> and when I add your script:
>>
>> QMAKE_LFLAGS            =
>> -Wl,--script,$(QTDIR)/mkspecs/cygwin-g++/i386pe.x-no-rdata
>> -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import
>> -Wl,-enable-runtime-pseudo-reloc

I see from your other reply that this would not have worked anyway, because
I did not use the script when linking lyx.exe.

> It is interesting that the problem is really the dll and not in the exe.
> Seems that there is a seg fault in the dll startup code. Very difficult
> to catch, because it is not clear from which part this comes. It may be a
> mingw provided static lib or the mingw runtime library. (Do have used the
> mingw runtime dll from the cross compile package ?) 

No, everything else is native Windows. Only lyx.exe and qt3.dll were
produced by cross compilation.

> If you have time you can try to profile the application with depends
> http://www.dependencywalker.com/. It may give some hints about where the
> seg fault happens.

I currently think Windows is evil and would like to jump on its grave :)
Give me a day or so to gather some energy.

Angus




More information about the kde-cygwin mailing list