Seite 1 von 1

Linkprobleme OpenSSL und QT statisch

Verfasst: 5. November 2010 16:48
von Willi2793
Hallo,

ich arbeite unter Windows 7 und habe ein problem eine Anwendung zu linken die OpenSSL benutzt. Sowohl QT als auch OpenSSL sollen statsich dazugelinkt sein. Ich habe mir OpenSSL heruntergeladen und mit MinGW, MSYS und Perl übersetzt. Das MinGW ist das aus der QT-Installation (QT 4.7).

Danach habe ich QT neu erstellt und dort mit

Code: Alles auswählen

-openssl-linked OPENSSL_LIBS=-lssl -lcrypto -I C:\Qt\2010.05\qt\OpenSSL\include -L C:\Qt\2010.05\qt\OpenSSL\lib
das frisch erstellte OpenSSL dazugebracht. Auch das hat wunderbar geklappt.

Nun will ich eine Anwendung erstellen die das Ganze verwendet. Das Umwandeln klappt auch noch hervorragend. Aber beim Linken bekomme ich folgende Fehlermeldungen:

Code: Alles auswählen

C:\Qt\2010.05\qt\OpenSSL\lib\libcrypto.a(rand_win.o):rand_win.c:(.text+0xee0): undefined reference to `CreateDCA@16'
C:\Qt\2010.05\qt\OpenSSL\lib\libcrypto.a(rand_win.o):rand_win.c:(.text+0xf7e): undefined reference to `GetObjectA@12'
C:\Qt\2010.05\qt\OpenSSL\lib\libcrypto.a(rand_win.o):rand_win.c:(.text+0x103b): undefined reference to `GetBitmapBits@12'
Ich suche mir schon einen Wolf aber alle Lösungsvorschläge (die ich finde) gehen in die Richtung das ich beim Linken ein paar Bibliotheken nicht mit angegeben habe. Aber alle die genannt werden sind dabei. Hier der Link-Aufruf:

Code: Alles auswählen

g++ -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-subsystem,windows -o release/LensSOAPClient.exe object_script.LensSOAPClient.Release  -L'c:/Qt/2010.05/qt/lib' -lmingw32 -lqtmain -lQtXml -lQtGui -lQtNetwork -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lssl -lcrypto -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32 -LC:\Qt\2010.05\qt\OpenSSL\lib
Es wird auch nicht gemotzt das eine Datei nicht gefunden werden kann.

Ich bräuchte jetzt bitte mal eine Idee was da noch geändert werden muss das das Ganze klappt.

Danke und Grüße,
Willi