好了,总结一下…windows上的STATIC qext可能存在配置问题。它应该链接到libcrypto。A和libssl。A,但是它没有,使得任何试图对qxtnetwork进行静态编译的程序都因为缺少引用而失败…
使用当前的Qt源代码,我无法从Qt Creator编译我的项目的静态二进制文件,因为缺少对libcrypto.a的引用。
我可以手动编译软件,在Qt Creator生成的命令行末尾添加-lcrypto和-lgdi32:
C:DevProjektyapps_srcMakeAHole-static>g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-subsystem,windows -o releaseMakeAHole.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行:
configure.bat -qmake-bin C:Qtstaticbinqmake.exe -release -prefix C:Qtstatic -static -no-db -I C:mingwinclude -I C:mingwincludeopenssl -L C:Qtstaticlib -l crypto -l ssl -l ws2_32
(注意openssl手册说:
)libcrypto。A和libssl。A是静态库。要使用dll,链接libay32。A和libssl32。相反。
),所以我不使用ssl32和eay32。
请注意,openssl。pro在Qxt有以下行-也许他们导致的问题?
!win32:LIBS+= -lcrypto -lssl
和libssh2。
!win32:!symbian{
INCLUDEPATH += $$PWD/linux
LIBS+=-lcrypto -lz
}
所有需要的库都在适当的位置,即c:qtstaticlib
请注意,我使用的是动态版本的Qxt,没有"-static",编译到不同的目录中,这一个工作没有问题。
然后我做
mingw32-make
mingw32-make install
并尝试使用Qt Creator编译:
Running build steps for project MakeAHole...
Configuration unchanged, skipping qmake step.
Starting: "C:mingwbinmingw32-make.exe"
c:qtstaticbinqmake.exe -spec ........Qtstaticmkspecswin32-g++ CONFIG+=release -o Makefile ..MakeAHoleMakeAHole.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 releaseMakeAHole.exe object_script.MakeAHole.Release -L"c:Qtstaticlib" -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:Qtstaticlib/libQxtNetwork.a(knownhost.o):knownhost.c:(.text+0x5d2): undefined reference to `EVP_sha1'
c:Qtstaticlib/libQxtNetwork.a(knownhost.o):knownhost.c:(.text+0x5f2): undefined reference to `HMAC_Init'
c:Qtstaticlib/libQxtNetwork.a(knownhost.o):knownhost.c:(.text+0x61e): undefined reference to `HMAC_Update'
c:Qtstaticlib/libQxtNetwork.a(knownhost.o):knownhost.c:(.text+0x63b): undefined reference to `HMAC_Final'
c:Qtstaticlib/libQxtNetwork.a(knownhost.o):knownhost.c:(.text+0x649): undefined reference to `HMAC_CTX_cleanup'
c:Qtstaticlib/libQxtNetwork.a(channel.o):channel.c:(.text+0x1b5e): undefined reference to `RAND_bytes'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x10): undefined reference to `DSA_free'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x75): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x87): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0xa5): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0xc5): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x171): undefined reference to `DSA_free'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x1ca): undefined reference to `DSA_free'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x2ce): undefined reference to `RSA_free'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x2fc): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x30b): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x326): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x343): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x3c1): undefined reference to `RSA_free'
c:Qtstaticlib/libQxtNetwork.a(hostkey.o):hostkey.c:(.text+0x41a): undefined reference to `RSA_free'
c:Qtstaticlib/libQxtNetwork.a(transport.o):transport.c:(.text+0x8e8): undefined reference to `RAND_bytes'
c:Qtstaticlib/libQxtNetwork.a(global.o):global.c:(.text+0x19): undefined reference to `OPENSSL_add_all_algorithms_noconf'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xda): undefined reference to `BN_CTX_new'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xe5): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xf0): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xfb): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x106): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x13f): undefined reference to `BN_rand'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x166): undefined reference to `BN_mod_exp'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x174): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x190): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1ea): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x219): undefined reference to `BN_bn2bin'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x391): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3a0): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3b6): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3cd): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3d9): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3e5): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x3fb): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x412): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x47f): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x4c0): undefined reference to `BN_mod_exp'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x4cb): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x4e7): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x535): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x564): undefined reference to `BN_bn2bin'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x570): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x585): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x5c4): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x60f): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x62a): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x663): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x688): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x6b1): more undefined references to `EVP_DigestUpdate' follow
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x865): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xa3c): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xa48): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xa61): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xa78): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xa9d): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xab3): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xacc): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xaef): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xafb): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xb14): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xb2b): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xb50): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xb66): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xb7f): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xc57): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xc63): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xc7c): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xc93): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xcb8): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xcce): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xce7): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd0a): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd16): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd2f): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd46): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd6b): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd81): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xd9a): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xe9b): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xea7): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xec0): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xed7): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xefc): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xf12): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xf2b): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xfd3): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xfdf): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0xff8): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x100f): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1034): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x104a): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1063): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1163): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1178): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x118a): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x119c): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x11ae): undefined reference to `BN_CTX_free'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1380): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x138b): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x13a1): undefined reference to `BN_set_word'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x13bf): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x141d): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1435): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1467): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1472): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x15d5): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1601): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1674): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x168c): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x16b4): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x16bf): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x16d5): undefined reference to `BN_set_word'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x16f3): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1757): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x176f): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(kex.o):kex.c:(.text+0x1ef3): undefined reference to `RAND_bytes'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x1f): undefined reference to `BIO_new_file'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4e): undefined reference to `BIO_free'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x81): undefined reference to `BN_bn2bin'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x149): undefined reference to `EVP_CIPHER_CTX_get_app_data'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x270): undefined reference to `EVP_aes_256_ecb'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x2a5): undefined reference to `EVP_EncryptInit'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x2be): undefined reference to `EVP_CIPHER_CTX_set_padding'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x2df): undefined reference to `EVP_CIPHER_CTX_set_app_data'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x302): undefined reference to `RSA_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x30b): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x329): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x330): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x34e): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x35d): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x378): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x37f): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x39d): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x3a4): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x3c2): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x3c9): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x3e7): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x3ee): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x40c): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x413): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x431): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x44f): undefined reference to `DSA_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x458): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x476): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x47d): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x49b): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4a2): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4c0): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4c7): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4e5): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x4f0): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x50b): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x527): undefined reference to `EVP_CIPHER_CTX_init'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x54b): undefined reference to `EVP_CipherInit'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x588): undefined reference to `EVP_Cipher'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x5e2): undefined reference to `PEM_read_bio_RSAPrivateKey'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x611): undefined reference to `PEM_read_bio_DSAPrivateKey'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x639): undefined reference to `RSA_size'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x67b): undefined reference to `RSA_sign'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x6c7): undefined reference to `DSA_do_sign'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x6de): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x6fd): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x714): undefined reference to `DSA_SIG_free'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x739): undefined reference to `BN_bn2bin'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x751): undefined reference to `BN_bn2bin'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x759): undefined reference to `DSA_SIG_free'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x778): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x787): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x79d): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x7b4): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x7c9): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x7e0): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x7e5): undefined reference to `BN_new'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x7ff): undefined reference to `BN_bin2bn'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x836): undefined reference to `DSA_do_verify'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x843): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x84e): undefined reference to `BN_clear_free'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x8aa): undefined reference to `RSA_verify'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x8cb): undefined reference to `EVP_get_digestbyname'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x8da): undefined reference to `EVP_DigestInit'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x8f0): undefined reference to `EVP_DigestUpdate'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x907): undefined reference to `EVP_DigestFinal'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x92c): undefined reference to `BIO_new_file'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x948): undefined reference to `EVP_get_cipherbyname'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x951): undefined reference to `OpenSSL_add_all_ciphers'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x971): undefined reference to `BIO_ctrl'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x990): undefined reference to `PEM_read_bio_PrivateKey'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x99b): undefined reference to `BIO_free'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0x9e4): undefined reference to `EVP_PKEY_get1_RSA'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xa12): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xa2c): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xa9d): undefined reference to `RSA_free'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xaee): undefined reference to `EVP_PKEY_get1_DSA'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xb1c): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xb36): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xb4b): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xb60): undefined reference to `BN_num_bits'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xbf0): undefined reference to `DSA_free'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xc6b): undefined reference to `EVP_PKEY_free'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xc7d): undefined reference to `RSA_free'
c:Qtstaticlib/libQxtNetwork.a(openssl.o):openssl.c:(.text+0xc91): undefined reference to `DSA_free'
c:Qtstaticlib/libQxtNetwork.a(crypt.o):crypt.c:(.text+0x4b): undefined reference to `EVP_CIPHER_CTX_cleanup'
c:Qtstaticlib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0xbc): undefined reference to `EVP_aes_256_cbc'
c:Qtstaticlib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0xfc): undefined reference to `EVP_aes_256_cbc'
c:Qtstaticlib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x12c): undefined reference to `EVP_aes_192_cbc'
c:Qtstaticlib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x15c): undefined reference to `EVP_aes_128_cbc'
c:Qtstaticlib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x190): undefined reference to `EVP_bf_cbc'
c:Qtstaticlib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x1c0): undefined reference to `EVP_rc4'
c:Qtstaticlib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x1ec): undefined reference to `EVP_rc4'
c:Qtstaticlib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x21c): undefined reference to `EVP_cast5_cbc'
c:Qtstaticlib/libQxtNetwork.a(crypt.o):crypt.c:(.rdata+0x24c): undefined reference to `EVP_des_ede3_cbc'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x67): undefined reference to `EVP_ripemd160'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x8a): undefined reference to `HMAC_Init'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0xa4): undefined reference to `HMAC_Update'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0xc0): undefined reference to `HMAC_Update'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0xde): undefined reference to `HMAC_Update'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0xfb): undefined reference to `HMAC_Final'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x103): undefined reference to `HMAC_CTX_cleanup'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x139): undefined reference to `EVP_md5'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x15c): undefined reference to `HMAC_Init'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x176): undefined reference to `HMAC_Update'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x192): undefined reference to `HMAC_Update'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x1b0): undefined reference to `HMAC_Update'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x1cd): undefined reference to `HMAC_Final'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x1d5): undefined reference to `HMAC_CTX_cleanup'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x262): undefined reference to `EVP_sha1'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x285): undefined reference to `HMAC_Init'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x29f): undefined reference to `HMAC_Update'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x2bb): undefined reference to `HMAC_Update'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x2d9): undefined reference to `HMAC_Update'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x2f6): undefined reference to `HMAC_Final'
c:Qtstaticlib/libQxtNetwork.a(mac.o):mac.c:(.text+0x2fe): undefined reference to `HMAC_CTX_cleanup'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [releaseMakeAHole.exe] Error 1
mingw32-make: *** [release] Error 2
The process "C:mingwbinmingw32-make.exe" exited with code 2.
Error while building project MakeAHole (target: Desktop)
When executing build step 'Make'
在my *中存在以下行。支持文件:
win32:LIBS += -lcrypto
win32:LIBS += -lssl
win32:LIBS += -lws2_32
使用openssl通常需要两个库:libeay32
和ssleay32
。找到它们并在win32中为它们写正确的路径:LIBS