在C 中使用Nuget的libcurl(VS2013)

Using libcurl from NuGet in C++ (VS2013)

本文关键字:libcurl VS2013 Nuget      更新时间:2023-10-16

第一个计时器,所以我可能需要手持的 bit

我一直在尝试使用简单的libcurl示例,但在编译时正在绊倒。我正在尝试使用Nuget,并遵循我在以前的答案中阅读的内容

在项目属性中,我已将附加库目录链接到使用libcurl.dll的文件夹,并且在 linker-> input 中,在先前的答案中。当我尝试运行它时,它给出了关于丢失.libs的错误。

1>LINK : fatal error LNK1104: cannot open file 'libeay32.lib'我想这并不奇怪,因为.lib实际上不在文件夹中。当删除对.lib的引用时,除了libcurl.lib之外,我会收到此错误。

1>Source.obj : error LNK2019: unresolved external symbol __imp__curl_easy_init referenced in function _main
1>Source.obj : error LNK2019: unresolved external symbol __imp__curl_easy_setopt referenced in function _main
1>Source.obj : error LNK2019: unresolved external symbol __imp__curl_easy_perform referenced in function _main
1>Source.obj : error LNK2019: unresolved external symbol __imp__curl_easy_cleanup referenced in function _main

openssl nuget软件包目前的日期为2013年6月12日。openssl.1.0.1.24openssl.redist.1.0.1.24的目标文件都包含以下条件:

$(PlatformToolset.ToLower().IndexOf('v110')) > -1

这些排除汇编和链接,因为VS2013默认设置了PlatformToolset = v120。必须为v120(以及CTP_Nov2013)更新目标。

在此处有关RTM和CTP编译器之间的兼容性。

这些是curl使用的OpenSSL函数。奇怪的是,像Nuget这样的软件包管理系统没有自动依赖性跟踪。无论如何,以相同的方式安装openSSL应该解决您的问题。