0

在 API 的客户端中有代码

   #include "cpprest/http_msg.h"

    ...

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

    ...

在链接期间有消息:

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

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

删除行时它消失 req.set_method(web::http::methods::POST); 据我了解 web::http::methods::POST 是常量,因此必须在 client.obj 中构建。还不明白。

它是静态链接。basic_string 可能存在的问题

4

1 回答 1

0

vcpkg 为静态和动态链接构建 cpprest。两者的问题名称是等价的。所以它尝试使用动态库而不是静态库。

是否重命名了额外的库 - 已构建项目。我认为 VCPKG 必须有 swich 库将进行调查的选项。

于 2018-09-11T13:11:00.117 回答