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

Compile Curl Visual Studio - unresolved external symbol

我需要使用 libcurl 的静态库,我发现 this github rep 生成了这些库。

现在,我正在尝试使用静态库 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 版本。我使用了 build.bat 的旧版本并且工作正常。

供参考:使用 VS 2005 编译。