cUrl:未定义的引用
cUrl: Undefined reference
我正在尝试在我的应用程序中使用 cUrl,但我遇到了几个错误。我已经尝试在 g 或此处找到解决方案,但没有任何帮助。
我将 link cUrl 构建为静态,在 linker 中设置了 libcurl.a,有适当的包含,但它仍然不起作用。
我尝试将 -lcurl 添加到构建设置中,但它似乎不知道该标志。
我正在使用带有 --disable--static 和 --without--ssl 的 cUrl 7.46.0 build
和 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'
...
我愿意
mingw32-g++.exe -LC:\curl\lib -lcurl ................
如果您尝试 link 使用静态 libcurl,请将 -DCURL_STATICLIB
添加到 gcc 参数或定义 CURL_STATICLIB
宏,然后再包含其 headers 以使用正确的修饰。
我正在尝试在我的应用程序中使用 cUrl,但我遇到了几个错误。我已经尝试在 g 或此处找到解决方案,但没有任何帮助。 我将 link cUrl 构建为静态,在 linker 中设置了 libcurl.a,有适当的包含,但它仍然不起作用。
我尝试将 -lcurl 添加到构建设置中,但它似乎不知道该标志。
我正在使用带有 --disable--static 和 --without--ssl 的 cUrl 7.46.0 build 和 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'
...
我愿意
mingw32-g++.exe -LC:\curl\lib -lcurl ................
如果您尝试 link 使用静态 libcurl,请将 -DCURL_STATICLIB
添加到 gcc 参数或定义 CURL_STATICLIB
宏,然后再包含其 headers 以使用正确的修饰。