проблема с cpprestapi в visual studio 2017 не может найти константы POST / GET - PullRequest
0 голосов
/ 11 сентября 2018

Есть код в клиенте API

   #include "cpprest/http_msg.h"

    ...

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

    ...

Во время связывания есть сообщения:

1> client.obj: ошибка LNK2001: неразрешенный внешний символ "public: статический класс std:: basic_string, класс std :: allocator> const web :: http :: method :: GET "(? GET @ method @ http @ web @@ 2V? $ basic_string @ _WU? $ char_traits @ _W @ std @@ V?$ allocator @ _W @ 2 @@ std @@ B)

1> client.obj: ошибка LNK2001: неразрешенный внешний символ "public: статический класс std :: basic_string, класс std :: allocator> const web:: http :: method :: POST "(? POST @ method @ http @ web @@ 2V? $ basic_string @ _WU? $ char_traits @ _W @ std @@ V? $ allocator @ _W @ 2 @@ std @@ B)

Исчезает при удалении строки req.set_method (web :: http :: method :: POST);Как я понимаю, web :: http :: method :: POST является константой, поэтому должен быть встроен в client.obj.Пока не понимаю.

Это статическая ссылка.Возможная проблема с basic_string

1 Ответ

0 голосов
/ 11 сентября 2018

vcpkg build cpprest для статического и динамического линкинка. Имя проблемы обоих равнозначно. Поэтому попробуйте использовать динамический lib вместо статического.

Переименовал ли дополнительную библиотеку - проект построен. Я думаю, что у VCPKG должна быть опция, которую библиотека будет исследовать.

...