Как часть процесса обучения сервисов Rest, я пытаюсь создать простой HTTP-прослушиватель с помощью C++ REST sdk «casablanca». Сначала моя цель - проверить, может ли он получить простой запрос POST, указанный на localhost, и сохранить текст в файле.Ошибки компоновщика с casablanca в VS2015 при попытке создать простой HTTP-прослушиватель
Я строю этот проект на VS2015. Я использовал встроенный менеджер пакетов для поиска и установки sdk и загрузил необходимые файлы заголовков из github и добавил их в качестве дополнительных включенных каталогов. При попытке построить, я получаю «неразрешенных внешних символ» ошибки с кодом ошибки LNK2019
Вот код до сих пор
#include <cpprest/http_listener.h>
#include <iostream>
#include <stdlib.h>
using namespace web;
using namespace web::http;
using namespace web::http::experimental::listener;
using namespace utility;
using namespace std;
#define TRACE(msg) wcout << msg;
#define TRACE_ACTION(a, k, v) wcout << a << L" (" << k << L", " << v << L")\n";
map<utility::string_t, utility::string_t> dictionary;
void handle_post(http_request request)
{
TRACE(L"\nhandle POST\n");
utility::string_t input;
input = request.to_string();
utility::ofstream_t out("output.txt");
out << input;
out.close();
}
int main(int argc, char** argv)
{
http_listener listener(L"http://localhost:8080");
listener.support(methods::POST, handle_post);
try
{
listener
.open()
.then([&listener]() {TRACE(L"\nstarting to listen\n"); })
.wait();
while (true);
}
catch (exception const & e)
{
wcout << e.what() << endl;
}
}
Одна из ошибок я получаю:
неразрешенной внешний символ "__declspec (dllimport) public: _thiscall web :: uri :: uri (wchar_t const *)" (__imp _ ?? 0uri @ web @@ QAE @ PB_W @ Z), на который ссылается функция function_main
Буду признателен, если кто-то сможет укажите мне, что я делаю неправильно