cUrl: Undefined reference

你。 提交于 2020-01-06 19:26:49

问题


I am trying to use cUrl in my app but i am getting several errors. I already tried to find a solution on g or here, but nothing helped. I build and link cUrl as static, have libcurl.a set up in linker, have proper includes but it still doesn't work.

I tried adding -lcurl into build settings but seems like it doesn't know that flag.

I am using cUrl 7.46.0 build with --disable--static and --without--ssl and Code::Blocks ide & mingw compiler // c++ ofc

Here are those errors:

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'

Compilation command:

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

Errors when used define 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'
...

回答1:


If you try to link with static libcurl add -DCURL_STATICLIB to gcc arguments or define CURL_STATICLIB macro before including its headers to use correct mangling.




回答2:


I would do

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


来源:https://stackoverflow.com/questions/34403511/curl-undefined-reference

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!