Ich versuche eine statisch verknüpfte OpenSSL + LibCurl Konsolenanwendung mit CodeBlocks zu erstellen. Aber ich kann es nicht zur Arbeit bringen. Ich erhalte diesen Fehler:Statisches Verknüpfen von OpenSSL und cURL mit Autotools und MinGW
||=== 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)) ===|
Dies ist das Buildprotokoll:
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
ich das Set-up verwendet, die here skizziert.
Einige Bilder von meinem Setup:
Hat Ihre Befehlszeile einen Ordner '-L>? –
user4581301
@ user4581301, nein, das kann ich nicht finden? Ich habe das Build-Protokoll hinzugefügt und einige Bilder der Einrichtung –
Command Line sieht ein bisschen seltsam aus. '-lcurl' sagt link in curl, aber ohne ein' -L', um dem Linker zu sagen, wo er das Spiel finden soll. Prüfen Sie, ob auf der Registerkarte "Suchverzeichnisse" etwas vorhanden ist, mit dem Sie die Linker-Suchverzeichnisse angeben können. Auf der anderen Seite haben Sie den genauen Speicherort der Verknüpfungsinformationen für die Version der gemeinsam genutzten Bibliothek angegeben. Da du statische Verknüpfungen willst, denke ich, dass du ohne das leben kannst. – user4581301