编译卷曲Visual Studio - 无法解析的外部符号
问题描述:
我需要使用libcurl的静态库,并且我找到了生成库的this github rep。编译卷曲Visual Studio - 无法解析的外部符号
现在,我试图编译一个简单的代码,使用curl使用静态库libcurl_a.lib,但没有成功。
起初,我错过了-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 [email protected] referenced in function _curlx_tvnow
unresolved external symbol [email protected] 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
我卡在这里,我不知道如何解决这个未解决的外部符号。
有人可以帮助我吗?谢谢
答
解决方案:
有一个与GitHub的仓库.bat文件有问题,似乎只与最近VS版本一起使用。我使用了较旧的build.bat版本,并且运行良好。
参考:与2005年VS
答
这可能是你正在链接到kernel32.lib的错误版本。你是否让x64构建? 如果是这样,你需要纠正你的库路径。
+0
在我的情况下;在库的附加依赖项中有“.. \ .. \ .. \ lib \ $(Configuration)\ Kernel32.lib”,通过删除它,我让VS studio找到正确版本的Kernel32.lib。 – mesut
嗯编译,我会在互联网上搜索“解析外部符号__imp__strtoll卷曲”。但是你有其他技术,使用它们。 –