C++ visual studio 2017中的cpprestapi问题可以';找不到POST/GET常量

C++ visual studio 2017中的cpprestapi问题可以';找不到POST/GET常量,c++,cpprest-sdk,vcpkg,C++,Cpprest Sdk,Vcpkg,在API的客户端有代码 #include "cpprest/http_msg.h" ... http_request req; req.set_method(web::http::methods::POST); ... 在链接过程中,您会收到以下消息: 1> client.obj:错误LNK2001:未解析的外部符号“public: 静态类std::basic_字符串,类std::allocator>const web::http::methods:

在API的客户端有代码

   #include "cpprest/http_msg.h"

    ...

    http_request req;
    req.set_method(web::http::methods::POST);

    ...
在链接过程中,您会收到以下消息:

1> client.obj:错误LNK2001:未解析的外部符号“public: 静态类std::basic_字符串,类std::allocator>const web::http::methods::GET“ (?GET@methods@http@web@@2V?$basic_string@_WU?$char_traits@_W@性病病毒$allocator@_W@2@@std@@B)

1> client.obj:错误LNK2001:未解析的外部符号“public: 静态类std::basic_字符串,类std::allocator>const web::http::methods::POST“ (?POST@methods@http@web@@2V?$basic_string@_WU?$char_traits@_W@性病病毒$allocator@_W@2@@std@@B)

当删除行请求set_方法(web::http::methods::POST)时,它将消失; 据我所知,web::http::methods::POST是常量,因此必须在client.obj中构建。我还不明白


它是静态链接。用于静态和动态linckink的basic_字符串可能存在问题。两者的问题名称是等价的。所以它尝试使用动态库而不是静态库


确实重命名了额外的库-已生成项目。我认为VCPKG必须拥有swich library将调查的选项。

您是否在VS 2017属性页中提供了库路径。它抱怨它需要链接的图书馆。请查看此链接以了解更多信息:-当然,所有补丁都设置正确。它与库的prevois版本配合得很好。除此之外,它只有静态类web::http::方法存在问题,所有其他函数都链接。我使用vspkg设置所有补丁。