我試圖用CodeBlocks構建靜態鏈接的OpenSSL + LibCurl控制檯應用程序。但是,我無法讓它工作。我不斷收到這些錯誤:使用Autotools和MinGW靜態鏈接OpenSSL和cURL
||=== Build: Debug in Filer (compiler: GNU GCC Compiler) ===|
C:\MinGW\msys\1.0\local\lib\libcurl.a(libcurl_la-openssl.o)|| undefined reference to `SSL_get0_alpn_selected'|
C:\MinGW\msys\1.0\local\lib\libcurl.a(libcurl_la-openssl.o)|| undefined reference to `SSL_CTX_set_alpn_protos'|
C:\MinGW\msys\1.0\local\lib\libcurl.a(libcurl_la-openssl.o)|| undefined reference to `SSL_CTX_set_next_proto_select_cb'|
C:\MinGW\msys\1.0\local\lib\libcurl.a(libcurl_la-openssl.o)|| undefined reference to `SSL_CTX_set_srp_username'|
C:\MinGW\msys\1.0\local\lib\libcurl.a(libcurl_la-openssl.o)|| undefined reference to `SSL_CTX_set_srp_password'|
C:\MinGW\msys\1.0\local\lib\libcurl.a(libcurl_la-openssl.o)|| undefined reference to `SSL_COMP_free_compression_methods'|
||=== Build failed: 6 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
這是生成日誌:
mingw32-g++.exe -o bin\Debug\Filer.exe "obj\Debug\MinGW Sources\BASE64\base64.o
" "obj\Debug\MinGW Sources\SQLite\sqlite3.o" obj\Debug\Users\thoma\Desktop\Filer
\main.o -static -lcurl -lrtmp -lidn -lssl -lssh2 -lcrypto -lz -lwldap32 -lws2_
32 -lwinmm -lgdi32 C:\MinGW\msys\1.0\local\lib\libcrypto.dll.a C:\MinGW\msys\1.0
\local\lib\libcurl.a C:\MinGW\msys\1.0\local\lib\libcurl.dll.a C:\MinGW\msys\1.0
\local\lib\libssl.a C:\MinGW\msys\1.0\local\lib\libssl.dll.a C:\MinGW\msys\1.0\l
ocal\lib\libwxjpeg-3.0.a C:\MinGW\msys\1.0\local\lib\libwxpng-3.0.a C:\MinGW\msy
s\1.0\local\lib\libwxscintilla-3.0.a C:\MinGW\msys\1.0\local\lib\libwxtiff-3.0.a
C:\MinGW\msys\1.0\local\lib\libz.a C:\MinGW\msys\1.0\local\lib\libz.dll.a
我用它概括here的設置。
我設置的一些照片:
你的命令行是否有'-L <捲曲庫文件夾路徑>'? – user4581301
@ user4581301,不是我能找到的嗎?我已經添加了構建日誌和設置的一些圖片 –
命令行看起來有點奇怪。 '-lcurl'表示curl中的鏈接,但沒有'-L'來告訴鏈接器在哪裏找到它。查看「搜索目錄」選項卡上是否有任何內容允許您指定鏈接程序搜索目錄。另一方面,您已經指定了看起來像共享庫版本的鏈接信息的確切位置。既然你想靜態鏈接,我認爲你可以沒有這種生活。 – user4581301