Visual c++ VS2013 VC&x2B+;libcurl LNK2028 LNK2019链接错误

Visual c++ VS2013 VC&x2B+;libcurl LNK2028 LNK2019链接错误,visual-c++,curl,visual-studio-2013,static-libraries,libcurl,Visual C++,Curl,Visual Studio 2013,Static Libraries,Libcurl,我正在尝试让Libcurl在VS2013社区的VC++项目中工作。我花了好几个小时来研究这个问题,基本上我在Stack和Google上都试过了,但都没用 我最近的一次尝试是由答案引发的,它提到libcurl是一个Nuget包。这很好,因为它附带了所需的所有.lib文件。然而,我遇到了与相同的问题,因为我得到了一个链接器错误 我正在链接器->输入下的项目配置设置中将以下库作为“其他依赖项”导入: libcurl.lib;libeay32.lib;ssleay32.lib;Ws2_32.lib;li

我正在尝试让Libcurl在VS2013社区的VC++项目中工作。我花了好几个小时来研究这个问题,基本上我在Stack和Google上都试过了,但都没用

我最近的一次尝试是由答案引发的,它提到libcurl是一个Nuget包。这很好,因为它附带了所需的所有.lib文件。然而,我遇到了与相同的问题,因为我得到了一个链接器错误

我正在链接器->输入下的项目配置设置中将以下库作为“其他依赖项”导入:

libcurl.lib;libeay32.lib;ssleay32.lib;Ws2_32.lib;libssh2.lib;zlib.lib;wldap32.lib;
显然,这些.lib文件中的每一个都位于项目文件夹中nuget package文件夹的不同目录中,因此在Linker->General下,我的“附加库目录”设置为:

"PATHTOPROJECT\packages\curl.7.30.0.2\build\native\lib\v110\x64\Release\static";
"PATHTOPROJECT\packages\zlib.1.2.8.1\build\native\lib\v110\Win32\Release\static\cdecl";
"PATHTOPROJECT\packages\openssl.1.0.1.21\build\native\lib\v110\x64\Release\static\cdecl";
"PATHTOPROJECT\packages\libssh2.1.4.3.1\build\native\lib\v110\x64\Release\static\cdecl";
我尝试使用静态库,因为如果可以避免的话,我不想将.dll与我的项目可执行文件一起拖动。另外值得注意的是,我最近尝试使用libcurl时还包括了SSL和其他东西,但实际上我并不需要这些额外的东西。实际上,我只需要一个静态libcurl库,但我似乎找不到或编译一个

在我的代码中,我还使用了include:
#include“curl/curl.h”

我还正确地在C/C++->General下的“Additional Include directory”下添加了Additional Include目录:

PROJECTPATH\packages\curl.7.30.0.2\build\native\include
现在,只要我不尝试在项目代码中使用curl,这些都可以很好地编译

因此,当我尝试在代码中使用curl时出现的错误:

CURL *curl;
curl = curl_easy_init();
这段代码会产生以下错误:

1>Main.obj : error LNK2028: unresolved token (0A000453) "extern "C" void * __cdecl curl_easy_init(void)" (?curl_easy_init@@$$J0YAPAXXZ) referenced in function "private: class System::String ^ __clrcall Project::Main::CurlRequest(class System::String ^,class System::String ^,class System::String ^,class System::String ^)" (?CurlRequest@Main@Project@@$$FA$AAMP$AAVString@System@@P$AAV34@000@Z)
1>Main.obj : error LNK2019: unresolved external symbol "extern "C" void * __cdecl curl_easy_init(void)" (?curl_easy_init@@$$J0YAPAXXZ) referenced in function "private: class System::String ^ __clrcall Project::Main::CurlRequest(class System::String ^,class System::String ^,class System::String ^,class System::String ^)" (?CurlRequest@Main@Project@@$$FA$AAMP$AAVString@System@@P$AAV34@000@Z)
当然,我的curl使用代码还有更多的地方,但是这个最小值显示了链接错误的基础。我能做些什么来解决这个问题?正如我之前提到的,我尝试了一系列解决方案,其中一些我将列在下面:

关于在VS项目中使用libcurl的问题,许多答案都提到从下载libcurl,但该链接到目前为止还不起作用,所以我不能使用它

更多的答案是从源代码编译libcurl。该源代码附带了.vcproj文件,其中没有一个文件在为我编译时不会出现数百个错误,因此该问题已解决。

是一个.bat文件,它下载libcurl源代码,编译它,并生成库(静态和动态)。导入由此创建的静态库(libcurl_a.lib)并在我的项目中与include目录一起使用,已经奏效了

我会留下一个不被接受的答案来回答这个问题,以防有人能提供其他有用的步骤来解决我在使用nuget软件包安装时遇到的问题

最后