将nuget包添加到C++;项目在构建时给出LNK2001错误 我有一个使用CPPRSTSTK的C++ Visual Studio 2015项目。我在VisualStudio中使用Tools/nuget package Manager为cpprest添加了nuget包。我对来自cpprest的include文件没有错误,并且它们被Visual Studio识别,问题是当我尝试构建我的项目时,我得到了很多LNK2001错误,例如: Error LNK2001 unresolved external symbol "class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > __cdecl utility::conversions::to_string_t(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &&)" (?to_string_t@conversions@utility@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@$$QEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@4@@Z) check-cpprest-nug D:\Work\visual-projects\check-cpprest-nug\check-cpprest-nug\check-cpprest-nug.obj 1 错误LNK2001未解析的外部符号“class std::basic_string\uu cdecl实用工具::转换::to_string_t(class std::basic_string&)”(?to_string_t@conversions@实用工具@@YA?AV?$basic_string@_WU?$char_traits@_W@性病病毒$allocator@_W@2@@std@$$QEAV?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@4@@Z)检查cpprest nug D:\Work\visual Project\check cpprest nug\check cpprest nug\check-cpprest-nug.obj 1 我认为这个链接是自动的,这是最初的C语言,但是我找不到C++的具体内容。

将nuget包添加到C++;项目在构建时给出LNK2001错误 我有一个使用CPPRSTSTK的C++ Visual Studio 2015项目。我在VisualStudio中使用Tools/nuget package Manager为cpprest添加了nuget包。我对来自cpprest的include文件没有错误,并且它们被Visual Studio识别,问题是当我尝试构建我的项目时,我得到了很多LNK2001错误,例如: Error LNK2001 unresolved external symbol "class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > __cdecl utility::conversions::to_string_t(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &&)" (?to_string_t@conversions@utility@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@$$QEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@4@@Z) check-cpprest-nug D:\Work\visual-projects\check-cpprest-nug\check-cpprest-nug\check-cpprest-nug.obj 1 错误LNK2001未解析的外部符号“class std::basic_string\uu cdecl实用工具::转换::to_string_t(class std::basic_string&)”(?to_string_t@conversions@实用工具@@YA?AV?$basic_string@_WU?$char_traits@_W@性病病毒$allocator@_W@2@@std@$$QEAV?$basic_string@DU?$char_traits@D@性病病毒$allocator@D@2@@4@@Z)检查cpprest nug D:\Work\visual Project\check cpprest nug\check cpprest nug\check-cpprest-nug.obj 1 我认为这个链接是自动的,这是最初的C语言,但是我找不到C++的具体内容。,c++,visual-studio,nuget,lnk2001,C++,Visual Studio,Nuget,Lnk2001,我是否缺少项目属性中的任何步骤 **编辑** 我正在添加一段代码以提供更多上下文,但我认为问题要么与链接相关,要么是由于项目配置。当cpprest是静态链接而不是使用nuget链接时,项目工作正常 std::ostringstream msg; utility::string_t address(U("https://*** --- ***")); http::uri uri = http::uri(address); http::cli

我是否缺少项目属性中的任何步骤

**编辑**

我正在添加一段代码以提供更多上下文,但我认为问题要么与链接相关,要么是由于项目配置。当cpprest是静态链接而不是使用nuget链接时,项目工作正常

std::ostringstream msg;

    utility::string_t address(U("https://*** --- ***"));
    
    http::uri uri = http::uri(address);

    http::client::http_client req(uri);

    try
    {
        auto response = req.request(http::methods::GET).get();

        auto status = response.status_code();

        if (status != http::status_codes::OK)
        {
            msg << "COUNTER PARTY LOOKUP :: Http Request could not be completed successfully with error code: " << status << "\n";

            throw std::runtime_error(msg.str());
        }

        json::value obj = response.extract_json().get();

        std::cout << utility::conversions::to_utf8string( obj.serialize() )<< std::endl;

    }
    catch (std::exception &e)
    {

        msg << "COUNTER PARTY LOOKUP :: Problem opening connection. Try again later." << std::endl;
    }
std::ostringstream msg;
实用工具::字符串地址(U(“https://***--***”);
http::uri=http::uri(地址);
http::client::http_客户端请求(uri);
尝试
{
自动响应=req.request(http::methods::GET).GET();
自动状态=响应。状态\代码();
if(status!=http::status\u code::OK)
{

msg由于我没有您的代码,也无法追踪您问题的具体点,因此这是我的建议

建议

您应该静态连接到
cpprestsdk
,对于我来说,我应该在预处理中添加
\u NO\u ASYNCRTIMP
,然后将
bcrypt.lib
winhttp.lib
添加到项目的链接器中

要实现所有这些,您应该安装一个名为的nuget包

安装项目时,此软件包将自动将这些点添加到项目中

记住要包含这些头文件:

#include <cpprest/http_client.h>
#include <cpprest/filestream.h>
#包括
#包括
注意:应使用
调试/发布
配置和
win32/x64
平台。将平台工具集保存到
Visual Studio 2015 v140


除了,如果它对您的问题不起作用,我建议您可以与我们共享您的代码,以便我们能够更快地解决问题。

您可以显示一个代码,但我记得,当我将
std::string
传递给
cpprestsdk
中使用
std::wstring
的任何函数时,我遇到了这个错误,或者如果您试图传递原始
const char*
,如果是这样,解决方法非常简单。请键入
“Hello world”
,而不是键入:
L“Hello world”
您能为我们分享一段代码来解决这个问题吗?另外,nuget的具体名称是什么?嗨,Mahshid,这个问题有什么更新吗?请检查我的回答是否有助于您处理这个问题,并让我们知道它是否有帮助。它将帮助我们为您提供更好的支持。嗨,我添加了一些代码。当cpprest是statica时,该项目就可以正常构建了我只是不能用nuget来构建它。而且我不得不使用我公司的cpprest nuget软件包。@PerryQian MSFT