2015-06-20 166 views
2

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

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

有人可以帮助我吗?谢谢

+0

嗯编译,我会在互联网上搜索“解析外部符号__imp__strtoll卷曲”。但是你有其他技术,使用它们。 –

回答

0

解决方案:

有一个与GitHub的仓库.bat文件有问题,似乎只与最近VS版本一起使用。我使用了较旧的build.bat版本,并且运行良好。

参考:与2005年VS

0

这可能是你正在链接到kernel32.lib的错误版本。你是否让x64构建? 如果是这样,你需要纠正你的库路径。

+0

在我的情况下;在库的附加依赖项中有“.. \ .. \ .. \ lib \ $(Configuration)\ Kernel32.lib”,通过删除它,我让VS studio找到正确版本的Kernel32.lib。 – mesut

相关问题