cUrl:未定义的引用

时间:2015-12-21 20:05:32

标签: c++ windows curl codeblocks

我正在尝试在我的应用中使用cUrl,但我收到了几个错误。我已经尝试在g或这里找到解决方案,但没有任何帮助。 我构建并链接cUrl为静态,在链接器中设置libcurl.a,有适当的包含,但它仍然无法正常工作。

我尝试将-lcurl添加到构建设置中,但似乎它不知道该标志。

我正在使用带有--disable - static的cUrl 7.46.0和--without - ssl  和Code :: Blocks ide& mingw编译器// c ++ ofc

以下是这些错误:

obj\Release\src\HTTPDownloadRequest.o:HTTPDownloadRequest.cpp| undefined reference to `_imp__curl_easy_cleanup'
obj\Release\src\HTTPDownloadRequest.o:HTTPDownloadRequest.cpp| undefined reference to `_imp__curl_easy_cleanup'
obj\Release\src\HTTPDownloadRequest.o:HTTPDownloadRequest.cpp| undefined reference to `_imp__curl_easy_init'
obj\Release\src\HTTPDownloadRequest.o:HTTPDownloadRequest.cpp| undefined reference to `_imp__curl_easy_setopt'
obj\Release\src\HTTPDownloadRequest.o:HTTPDownloadRequest.cpp| undefined reference to `_imp__curl_easy_perform'

编译命令:

mingw32-g++.exe -LC:\WXWID\lib\gcc_lib -o bin\Release\app.exe obj\Release\app.o obj\Release\appMain.o obj\Release\appHistory.o obj\Release\src\HTTPDownloadRequest.o  obj\Release\resource.res -s -static-libgcc -static-libstdc++ -static -mthreads  -lwxmsw30u_core -lwxbase30u -lwxpng -lwxjpeg -lwxtiff -lwxzlib C:\WXWID\lib\gcc_lib\libwxmsw30u_adv.a "C:\curl\lib\libcurl.a" -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -mwindows

使用时的错误定义CURL_STATICLIB

C:\curl\lib\libcurl.a(libcurl_la-connect.o)| undefined reference to `WSAIoctl@36'
C:\curl\lib\libcurl.a(libcurl_la-ldap.o)| undefined reference to `_imp__ldap_err2stringA'
C:\curl\lib\libcurl.a(libcurl_la-ldap.o)| undefined reference to `_imp__ldap_msgfree'
C:\curl\lib\libcurl.a(libcurl_la-ldap.o)|| undefined reference to `_imp__ldap_unbind_s'
...

2 个答案:

答案 0 :(得分:0)

如果您尝试链接静态libcurl,请将-DCURL_STATICLIB添加到gcc参数或定义CURL_STATICLIB宏,然后再包含其标题以使用正确的修改。

答案 1 :(得分:-1)

我愿意

mingw32-g++.exe -LC:\curl\lib -lcurl ................