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

Compile Curl Visual Studio - unresolved external symbol

本文关键字:外部 符号 Curl Visual Studio 编译      更新时间:2023-10-16

我需要使用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

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

有人可以帮助我吗?谢谢

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

解决方案:

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

供参考:使用 VS 2005 编译。