mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] Qt libjscore.a not installed


From: Mark Brand
Subject: Re: [Mingw-cross-env-list] Qt libjscore.a not installed
Date: Mon, 05 Dec 2011 09:44:06 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0.1) Gecko/20111121 Firefox/8.0.1 SeaMonkey/2.5

Hi Gareth,

Tested the latest patch and it is building successfully.

Thanks.

Too bad Qt isn't going to fix the symbol clash in libjscore.a and libQtScript.a.

MCE/usr/i686-pc-mingw32/lib/libjscore.a(OpaqueJSString.o):OpaqueJSString.cpp:(.text+0xa0):
multiple definition of `OpaqueJSString::ustring() const'
MCE/usr/i686-pc-mingw32/lib/libQtScript.a(OpaqueJSString.o):OpaqueJSString.cpp:(.text+0xa0):
first defined here


Recently at least, QtWebKit and QtScript use different versions of java script, but I don't know the details. They come into conflict using static linking. The official "solution" noted in QTBUG-8657 was to "remove support for static linking of QtWebKit". Mingw-cross-env restores support for static linking of QtWebKit, but cannot solve the symbol conflict when using QtWebKit and QtScript in the same application.

The libjscore.a library is always built as a static library, but it's normally linked into the shared QtWebKit and not installed. I suppose dynamic linking avoids the problem by not exporting libjscore.a symbols from QtWebKit DLL, or maybe there's DLL magic involved that I don't know about.

If you need to link an application statically to both static QtScript and QtWebKit, I wonder if you can get away with linking to either libqtscript.a or libjscore.a, but not both. Perhaps the differences don't matter much to your application. I have more experience building these libraries than using them though.

Mark




reply via email to

[Prev in Thread] Current Thread [Next in Thread]