C++ visual studio 2017中的cpprestapi问题可以';找不到POST/GET常量
在API的客户端有代码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:
#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设置所有补丁。