Ich entwickel unter Windows Vista mit Visual Studio 2008 und QT 4.4.3.
Damit erstelle ich eine QT-Application, welche DLLs einer Drittanbieter API verwendet.
Da die dll des Drittanbieters ebenfalls QT verwendet, wird zu der API u.a. QTCore4.dll (Version 4.5.1) mitgeliefert.
Schau ich die Debugversion der Drittanbieter DLL im Dependencywalker an, so wird als Abhängieges Modul u.a. die QTCore4d.dll aufgelistet in der Version 4.5.1, welche sich im selben Verzeichnis wie die Drittanbieter DLL befindet.
Erzeuge ich nun meine Applikation linke ich ja gegen meine QTCore4d.dll, die im QTDIR\bin liegt also die in der Version 4.4.3. Und wenn ich mir dann das Executeable im Dependencywalker anschaue, sehe ich dass die 4.4.3 dll auch für die Drittanbieter DLL benutzt wird. Und genau hier liegt das Problem, dass in der Drittanbieter DLL Aufrufe von Methoden sind wie z.B QFlagLocation, die nicht aufgelößt werden können, weil sie in der verwendeten DLL Version noch nicht existieren.
Gibt es eine Möglichkeit über das Pro-File einzustellen, dass ich explizit angeben kann für welche Abhängigkeit welche DLL verwendet werden soll?
Grüße Rumbert