Hi,
i had some time to dig deeper into my dll dependency problem. I read the
qtjambi-deployment.xml and the NativeLibraryManager.java more precise and i
found a very interesting thing:
qtjambi-deployment.xml:
NativeLibraryManager.java:
205 String load = attributes.getValue("load");
206 if (load != null && load.equals("true")) e.load = LOAD_TRUE;
207 else if (load != null && load.equals("never")) e.load = LOAD_NEVER;
208 else e.load = LOAD_FALSE;
The "load" value in the xml says "yes" and the NativeLibraryManager checks
against "true"??? If i change the value in the xml to "true" or add change
the .java file to accept "yes" and "true", the dll dependency problems are
gone.
I dont know which part of the build is wrong (the java part or the part
which creates the deployment xml) but i think this is a serious problem (at
least on windows platforms).
br klemens
----------------ursprüngliche Nachricht-----------------
Von: "Klemens Loschy" [email protected]
An: [email protected]
Datum: Thu, 15 Oct 2009 15:23:47 +0200
-------------------------------------------------
>
> Hi,
>
> thx but if i understand the following lines properly (from
>
> http://doc.trolltech.com/qtjambi-4.5.2_01/com/trolltech/qt/qtjambi-d
> eployment.html):
> -----------
> Redistribute the runtime libraries provided in the Qt Jambi package or in
> your own Visual Studio version along with their manifest next to every
.dll.
> The redistributables can be placed either directly next to the Qt Jambi
> .dll's or in a subdirectory called Microsoft.VC80.CRT for MSVC 2005 and
> Microsoft.VC90.CRT for MSVC 2008. For projects with .dll's in multiple
> folders, such as the Qt Jambi plugins in the plugin sub directory, the
files
> need to be duplicated in all places. Note: Since Qt treats all .dll files
in
> a plugin folder as a plugin it will try to load the the runtime libraries
as
> plugins. To prevent this, it is recommended that the redistributable
runtime
> libraries are placed in a sub directory under each plugin.
> -----------
> This is the way jambi is built or not? All msvc dlls are present in the
> qtjambi-win32-msvc2008-4.5.2.jar, so is the mingw32 dll. Furhtermore if i
> take a look with depends.exe at the qtcore4.dll in the mingw build all
dlls
> are present.
>
> I use the jars files produced from the build system and i do not change
them
> after the build in any ways.
>
> klemensl
>
>
> ----------------ursprüngliche Nachricht-----------------
> Von: "Gunnar Sletta" [email protected]
> An: "Klemens Loschy" [email protected]
> Kopie: [email protected]
> Datum: Thu, 15 Oct 2009 14:35:20 +0200
> -------------------------------------------------
>
>
>> Klemens Loschy wrote:
>>> Hi,
>>>
>>> i have done two jambi builds, one using a qt build compiled with mingw32
>>> and one using msvc2008. With both builds i was not able to start my
>>> qtjambi application out of the box. I had to copy the msvc2008 dlls
>>> (msvcm90.dll, msvcp90.dll and msvcr90.dll) and the mingw32 dll
>>> (mingwm10.dll) into the windows/system32 folder to be found when the
>>> qtjambi application launches. Then i was able to start my application
>>> with both jambi builds.
>>>
>>> Is this behaviour "works as designed" or is there a failure in the build
>>> process or the dll deployment on startup?
>>
>> This is how Windows is designed...
>>
>> To avoid these nasty culplrits with deployment we strongly suggest using
>> the jar files that are produced as part of the build system, as this
>> will automatically do the things you need and make sure system libraries
>> are located in the right locations prior to trying to load libraries.
See:
>>
>>
>>
>> http://doc.trolltech.com/qtjambi-4.5.2_01/com/trolltech/qt/qtjambi
>> -i
>> nstallation.html
>>
>> For a full discussion on the topic, see:
>>
>>
>>
>> http://doc.trolltech.com/qtjambi-4.5.2_01/com/trolltech/qt/qtjambi
>> -d
>> eployment.html
>>
>> -
>> Gunnar
>>
>>
>> --
>> SEQIS Spam & Virus Agent: Message ok
>>
>>
>
> --
>
> Mit freundlichen Gruessen,
>
> Klemens Loschy
> KeepLiquid Consulting
> _________________________________________
> SEQIS GmbH - The Austrian Software Test Experts!
> Neusiedler Straße 36, 2340 Mödling, Austria
> Telefon: +43 2236 320 320 - 0
> Fax: +43 2236 320 320 - 350
> mobil: +43 664 TESTS 06 (+43 664 83787 06)
>
> web http://www.SEQIS.com, http://www.KeepLiquid.com
> ________________________________
>
> *Frank Bieser, CIO, HEROLD Business Data GmbH*, über SEQIS:
> 'Die Zusammenarbeit mit SEQIS in unseren Projekten ist von einem
Hoechstmass
> an Professionalitaet und Zielorientierung gepraegt.
> Zahlreiche gemeinsame Vorhaben wurden partnerschaftlich und hoch
> erfolgreich
> abgewickelt. Auch fuer die Zukunft sehen wir in SEQIS einen unserer
> verlaesslichsten Partner.'
>
> ________________________________
> http://www.SEQIS.com/disclaimer
>
>
>
> --
> SEQIS Spam & Virus Agent: Message ok
>
>
> _______________________________________________
> Qt-jambi-interest mailing list
> [email protected]
> http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest
>
--
Mit freundlichen Gruessen,
Klemens Loschy
KeepLiquid Consulting
_________________________________________
SEQIS GmbH - The Austrian Software Test Experts!
Neusiedler Straße 36, 2340 Mödling, Austria
Telefon: +43 2236 320 320 - 0
Fax: +43 2236 320 320 - 350
mobil: +43 664 TESTS 06 (+43 664 83787 06)
web http://www.SEQIS.com, http://www.KeepLiquid.com
________________________________
*Frank Bieser, CIO, HEROLD Business Data GmbH*, über SEQIS:
'Die Zusammenarbeit mit SEQIS in unseren Projekten ist von einem Hoechstmass
an Professionalitaet und Zielorientierung gepraegt.
Zahlreiche gemeinsame Vorhaben wurden partnerschaftlich und hoch erfolgreich
abgewickelt. Auch fuer die Zukunft sehen wir in SEQIS einen unserer
verlaesslichsten Partner.'
________________________________
http://www.SEQIS.com/disclaimer
--
SEQIS Spam & Virus Agent: Message ok
_______________________________________________
Qt-jambi-interest mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest