编译 Curl Visual Studio - 未解析的外部符号

Compile Curl Visual Studio - unresolved external symbol

提问人:hmiguel 提问时间:6/20/2015 更新时间:6/23/2015 访问量:1137

问:

我需要使用 libcurl 的静态库,我找到了这个生成库的 github 代表

现在,我正在尝试使用静态库 libcurl_a.lib 编译一段使用 curl 的简单代码,但没有成功。

起初,我错过了 -DCURL_STATICLIB 标志,并且出现了一些未定义的引用错误:

undefined reference to `curl_easy_init'
undefined reference to `curl_easy_setopt'
undefined reference to `curl_easy_setopt'
undefined reference to `curl_easy_perform'
undefined reference to `curl_easy_strerror'
undefined reference to `curl_easy_cleanup'

标志解决了它,但现在我得到了这些:

unresolved external symbol __imp__strtoll
unresolved external symbol __imp__strtoll
unresolved external symbol __imp__strtoll
unresolved external symbol __imp__strtoll referenced in function _Curl_ftp_parselist
unresolved external symbol __imp__strtoll
unresolved external symbol __imp__strtoll
unresolved external symbol __imp__strtoll
unresolved external symbol __imp__strtoll
unresolved external symbol __imp__GetTickCount64@0 referenced in function _curlx_tvnow
unresolved external symbol __imp__InitializeCriticalSectionEx@12 referenced in function _init_thread_sync_data
unresolved external symbol __ltod3 referenced in function _getinfo_double
unresolved external symbol __ltod3
unresolved external symbol __dtol3 referenced in function _Curl_pgrsUpdate
unresolved external symbol ___report_rangecheckfailure referenced in function _base64_encode

我被困在这里,我不知道如何解决这个未解决的外部符号。

有人可以帮助我吗?谢谢

C++ curl 静态库 未解析外部

评论

0赞 Thomas Matthews 6/20/2015
嗯,我会在互联网上搜索“未解析的外部符号__imp__strtoll卷曲”。但是你有其他技术,使用它们。

答:

0赞 Vivian De Smedt 6/20/2015 #1

可能是您链接到了错误的kernel32.lib版本。你做 x64 构建吗? 如果是这样,则需要更正库路径。

评论

0赞 myalc 1/7/2016
就我而言;有“..\..\..\lib\$(Configuration)\Kernel32.lib“,通过删除它,我让 VS Studio 找到 Kernel32.lib 的正确版本。
0赞 hmiguel 6/23/2015 #2

溶液:

github 存储库 .bat 文件存在问题,似乎仅适用于最新的 VS 版本。我使用了较旧的 build.bat 版本并且工作正常。

供参考:使用 VS 2005 编译。