статический libqxt - чего-то не хватает? - PullRequest
0 голосов
/ 20 июля 2011

ОК, чтобы подвести итог ... Вероятно, проблема конфигурации с STATIC Qxt на окнах. Он должен ссылаться на libcrypto.a и libssl.a, но это не так, что любая программа, пытающаяся статически скомпилировать против qxtnetwork, потерпит неудачу с отсутствующими ссылками ...

С текущим исходным кодом Qxt я не могу скомпилировать статический двоичный файл моего проекта из Qt Creator из-за отсутствия ссылок на libcrypto.a

Я МОГУ скомпилировать часть программного обеспечения вручную, добавив -lcrypto и -lgdi32 в конец командной строки, сгенерированной Qt Creator:

C:\Dev\Projekty\apps_src\MakeAHole-static>g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-subsystem,windows -o release\MakeAHole.exe object_script.MakeAHole.Release  -LC:/Qt/static/lib -lmingw32 -lqtmain -lQxtGui -lQxtNetwork -lQxtCore -lQtGui -lQtNetwork -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lcrypto -lssl -lws2_32 -lgdi32

А вот и вся история:

Кто-нибудь мог использовать статическую версию libqxt? Я правильно подготовил статические Qt и Qxt. Увы - кажется, что правильный объект для ссылки на libssh часть qxtnetwork терпит неудачу. Сбой компиляции моей программы с отсутствующими ссылками на различные функции openssl.

А вот моя строка конфигурации:

configure.bat -qmake-bin C:\Qt\static\bin\qmake.exe -release -prefix C:\Qt\static -static -no-db -I C:\mingw\include -I C:\mingw\include\openssl -L C:\Qt\static\lib -l crypto -l ssl -l ws2_32

(обратите внимание, что в руководстве openssl написано:

libcrypto.a и libssl.a - статические библиотеки. Чтобы использовать библиотеки DLL, вместо этого свяжитесь с libeay32.a и libssl32.a.

), поэтому я не использую ssl32 и eay32.

Заметьте, что у openssl.pro в Qxt есть следующая строка - может быть, они вызывают проблему?

!win32:LIBS+= -lcrypto -lssl

и libssh2.pri такие строки:

!win32:!symbian{
  INCLUDEPATH +=  $$PWD/linux
  LIBS+=-lcrypto -lz
}

Все необходимые библиотеки находятся в нужном месте, а именно: c: \ qt \ static \ lib \

Имейте в виду, что я использую динамическую версию Qxt, скомпилированную без "-static" в другой каталог, и она работает без проблем.

Тогда я делаю

mingw32-make
mingw32-make install

и попробуйте скомпилировать, используя Qt Creator:

Running build steps for project MakeAHole...
Configuration unchanged, skipping qmake step.
Starting: "C:\mingw\bin\mingw32-make.exe" 
c:\qt\static\bin\qmake.exe -spec ..\..\..\..\Qt\static\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MakeAHole\MakeAHole.pro
C:/mingw/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory `C:/Dev/Projekty/apps_src/MakeAHole-static'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-subsystem,windows -o release\MakeAHole.exe object_script.MakeAHole.Release  -L"c:\Qt\static\lib" -lmingw32 -lqtmain -lcrypto -lssl -LC:/Qt/static/lib -lQxtGui -lQxtNetwork -lQxtCore -lQtGui -lQtNetwork -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32 
mingw32-make[1]: Leaving directory `C:/Dev/Projekty/apps_src/MakeAHole-static'
c:\Qt\static\lib/libQxtNetwork.a(knownhost.o):knownhost.c:(.text+0x5d2): undefined reference to `EVP_sha1'
c:\Qt\static\lib/libQxtNetwork.a(knownhost.o):knownhost.c:(.text+0x5f2): undefined reference to `HMAC_Init'
c:\Qt\static\lib/libQxtNetwork.a(knownhost.o):knownhost.c:(.text+0x61e): undefined reference to `HMAC_Update'
c:\Qt\static\lib/libQxtNetwork.a(knownhost.o):knownhost.c:(.text+0x63b): undefined reference to `HMAC_Final'
c:\Qt\static\lib/libQxtNetwork.a(knownhost.o):knownhost.c:(.text+0x649): undefined reference to `HMAC_CTX_cleanup'
c:\Qt\static\lib/libQxtNetwork.a(channel.o):channel.c:(.text+0x1b5e): undefined reference to `RAND_bytes'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x10): undefined reference to `DSA_free'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x75): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x87): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0xa5): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0xc5): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x171): undefined reference to `DSA_free'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x1ca): undefined reference to `DSA_free'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x2ce): undefined reference to `RSA_free'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x2fc): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x30b): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x326): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x343): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x3c1): undefined reference to `RSA_free'
c:\Qt\static\lib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x41a): undefined reference to `RSA_free'
c:\Qt\static\lib/libQxtNetwork.a(transport.o):transport.c:(.text+0x8e8): undefined reference to `RAND_bytes'
c:\Qt\static\lib/libQxtNetwork.a(global.o):global.c:(.text+0x19): undefined reference to `OPENSSL_add_all_algorithms_noconf'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xda): undefined reference to `BN_CTX_new'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xe5): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xf0): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xfb): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x106): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x13f): undefined reference to `BN_rand'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x166): undefined reference to `BN_mod_exp'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x174): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x190): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1ea): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x219): undefined reference to `BN_bn2bin'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x391): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3a0): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3b6): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3cd): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3d9): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3e5): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3fb): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x412): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x47f): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x4c0): undefined reference to `BN_mod_exp'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x4cb): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x4e7): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x535): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x564): undefined reference to `BN_bn2bin'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x570): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x585): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x5c4): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x60f): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x62a): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x663): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x688): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x6b1): more undefined references to `EVP_DigestUpdate' follow
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x865): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xa3c): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xa48): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xa61): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xa78): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xa9d): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xab3): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xacc): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xaef): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xafb): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xb14): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xb2b): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xb50): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xb66): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xb7f): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xc57): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xc63): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xc7c): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xc93): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xcb8): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xcce): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xce7): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd0a): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd16): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd2f): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd46): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd6b): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd81): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd9a): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xe9b): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xea7): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xec0): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xed7): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xefc): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xf12): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xf2b): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xfd3): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xfdf): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0xff8): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x100f): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1034): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x104a): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1063): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1163): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1178): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x118a): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x119c): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x11ae): undefined reference to `BN_CTX_free'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1380): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x138b): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x13a1): undefined reference to `BN_set_word'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x13bf): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x141d): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1435): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1467): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1472): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x15d5): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1601): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1674): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x168c): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x16b4): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x16bf): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x16d5): undefined reference to `BN_set_word'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x16f3): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1757): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x176f): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1ef3): undefined reference to `RAND_bytes'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x1f): undefined reference to `BIO_new_file'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4e): undefined reference to `BIO_free'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x81): undefined reference to `BN_bn2bin'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x149): undefined reference to `EVP_CIPHER_CTX_get_app_data'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x270): undefined reference to `EVP_aes_256_ecb'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x2a5): undefined reference to `EVP_EncryptInit'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x2be): undefined reference to `EVP_CIPHER_CTX_set_padding'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x2df): undefined reference to `EVP_CIPHER_CTX_set_app_data'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x302): undefined reference to `RSA_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x30b): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x329): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x330): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x34e): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x35d): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x378): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x37f): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x39d): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x3a4): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x3c2): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x3c9): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x3e7): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x3ee): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x40c): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x413): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x431): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x44f): undefined reference to `DSA_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x458): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x476): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x47d): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x49b): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4a2): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4c0): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4c7): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4e5): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4f0): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x50b): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x527): undefined reference to `EVP_CIPHER_CTX_init'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x54b): undefined reference to `EVP_CipherInit'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x588): undefined reference to `EVP_Cipher'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x5e2): undefined reference to `PEM_read_bio_RSAPrivateKey'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x611): undefined reference to `PEM_read_bio_DSAPrivateKey'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x639): undefined reference to `RSA_size'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x67b): undefined reference to `RSA_sign'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x6c7): undefined reference to `DSA_do_sign'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x6de): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x6fd): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x714): undefined reference to `DSA_SIG_free'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x739): undefined reference to `BN_bn2bin'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x751): undefined reference to `BN_bn2bin'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x759): undefined reference to `DSA_SIG_free'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x778): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x787): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x79d): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x7b4): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x7c9): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x7e0): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x7e5): undefined reference to `BN_new'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x7ff): undefined reference to `BN_bin2bn'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x836): undefined reference to `DSA_do_verify'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x843): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x84e): undefined reference to `BN_clear_free'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x8aa): undefined reference to `RSA_verify'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x8cb): undefined reference to `EVP_get_digestbyname'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x8da): undefined reference to `EVP_DigestInit'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x8f0): undefined reference to `EVP_DigestUpdate'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x907): undefined reference to `EVP_DigestFinal'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x92c): undefined reference to `BIO_new_file'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x948): undefined reference to `EVP_get_cipherbyname'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x951): undefined reference to `OpenSSL_add_all_ciphers'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x971): undefined reference to `BIO_ctrl'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x990): undefined reference to `PEM_read_bio_PrivateKey'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x99b): undefined reference to `BIO_free'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x9e4): undefined reference to `EVP_PKEY_get1_RSA'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xa12): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xa2c): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xa9d): undefined reference to `RSA_free'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xaee): undefined reference to `EVP_PKEY_get1_DSA'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xb1c): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xb36): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xb4b): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xb60): undefined reference to `BN_num_bits'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xbf0): undefined reference to `DSA_free'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xc6b): undefined reference to `EVP_PKEY_free'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xc7d): undefined reference to `RSA_free'
c:\Qt\static\lib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xc91): undefined reference to `DSA_free'
c:\Qt\static\lib/libQxtNetwork.a(crypt.o):crypt.c:(.text+0x4b): undefined reference to `EVP_CIPHER_CTX_cleanup'
c:\Qt\static\lib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0xbc): undefined reference to `EVP_aes_256_cbc'
c:\Qt\static\lib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0xfc): undefined reference to `EVP_aes_256_cbc'
c:\Qt\static\lib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x12c): undefined reference to `EVP_aes_192_cbc'
c:\Qt\static\lib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x15c): undefined reference to `EVP_aes_128_cbc'
c:\Qt\static\lib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x190): undefined reference to `EVP_bf_cbc'
c:\Qt\static\lib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x1c0): undefined reference to `EVP_rc4'
c:\Qt\static\lib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x1ec): undefined reference to `EVP_rc4'
c:\Qt\static\lib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x21c): undefined reference to `EVP_cast5_cbc'
c:\Qt\static\lib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x24c): undefined reference to `EVP_des_ede3_cbc'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x67): undefined reference to `EVP_ripemd160'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x8a): undefined reference to `HMAC_Init'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0xa4): undefined reference to `HMAC_Update'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0xc0): undefined reference to `HMAC_Update'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0xde): undefined reference to `HMAC_Update'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0xfb): undefined reference to `HMAC_Final'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x103): undefined reference to `HMAC_CTX_cleanup'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x139): undefined reference to `EVP_md5'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x15c): undefined reference to `HMAC_Init'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x176): undefined reference to `HMAC_Update'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x192): undefined reference to `HMAC_Update'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x1b0): undefined reference to `HMAC_Update'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x1cd): undefined reference to `HMAC_Final'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x1d5): undefined reference to `HMAC_CTX_cleanup'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x262): undefined reference to `EVP_sha1'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x285): undefined reference to `HMAC_Init'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x29f): undefined reference to `HMAC_Update'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x2bb): undefined reference to `HMAC_Update'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x2d9): undefined reference to `HMAC_Update'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x2f6): undefined reference to `HMAC_Final'
c:\Qt\static\lib/libQxtNetwork.a(mac.o):mac.c:(.text+0x2fe): undefined reference to `HMAC_CTX_cleanup'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\MakeAHole.exe] Error 1
mingw32-make: *** [release] Error 2
The process "C:\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building project MakeAHole (target: Desktop)
When executing build step 'Make'

В моем файле * .pro существуют следующие строки:

win32:LIBS += -lcrypto
win32:LIBS += -lssl
win32:LIBS += -lws2_32

1 Ответ

0 голосов
/ 21 июля 2011

для работы с openssl вам обычно нужны две библиотеки: libeay32 и ssleay32. найдите их и напишите правильные пути к ним в вашем win32: LIBS

...