cUrl:未定义的引用

cUrl: Undefined reference

本文关键字:引用 未定义 cUrl      更新时间:2023-10-16

我试图在我的应用程序中使用cUrl,但我遇到了几个错误。我已经试着在g或这里找到一个解决方案,但没有任何帮助。我构建并链接cUrl为静态,在链接器中设置了libcurl.a,有适当的include,但它仍然不起作用。

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

我使用带有--disable--static和--without--ssl的cUrl 7.46.0构建和代码::Blocks-ide&mingw编译器//c++ofc

以下是这些错误:

objReleasesrcHTTPDownloadRequest.o:HTTPDownloadRequest.cpp| undefined reference to `_imp__curl_easy_cleanup'
objReleasesrcHTTPDownloadRequest.o:HTTPDownloadRequest.cpp| undefined reference to `_imp__curl_easy_cleanup'
objReleasesrcHTTPDownloadRequest.o:HTTPDownloadRequest.cpp| undefined reference to `_imp__curl_easy_init'
objReleasesrcHTTPDownloadRequest.o:HTTPDownloadRequest.cpp| undefined reference to `_imp__curl_easy_setopt'
objReleasesrcHTTPDownloadRequest.o:HTTPDownloadRequest.cpp| undefined reference to `_imp__curl_easy_perform'

编译命令:

mingw32-g++.exe -LC:WXWIDlibgcc_lib -o binReleaseapp.exe objReleaseapp.o objReleaseappMain.o objReleaseappHistory.o objReleasesrcHTTPDownloadRequest.o  objReleaseresource.res -s -static-libgcc -static-libstdc++ -static -mthreads  -lwxmsw30u_core -lwxbase30u -lwxpng -lwxjpeg -lwxtiff -lwxzlib C:WXWIDlibgcc_liblibwxmsw30u_adv.a "C:curlliblibcurl.a" -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -mwindows

使用时的错误定义CURL_STATICLIB

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

如果尝试使用静态libcurl链接,请在包含其标头之前将-DCURL_STATICLIB添加到gcc参数或定义CURL_STATICLIB宏,以使用正确的mangling。

我会做

mingw32-g++.exe -LC:curllib -lcurl ................