2017-01-20 31 views
0

Restサービスに関する学習プロセスの一部として、MicrosoftのC++ REST SDK "casablanca"を使用して簡単なHTTPリスナーを構築しようとしています。私の目的は、最初にlocalhostで指された単純なPOST要求を受け取り、テキストをファイルに保存できるかどうかをテストすることです。シンプルなHTTPリスナーを構築しようとしたときにVS2015のcasablancaでリンカエラーが発生する

私は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; 
    } 
} 

一つである:

未解決function_mainで参照されている外部シンボル「__declspec(dllimport)public:_thiscall web :: uri :: uri(wchar_t const *)」(__imp _ ?? 0uri @ web @@ QAE @ PB_W @ Z)

誰かが私が間違っていることを私に指摘してください

答えて

0

リンカー - >入力に追加の依存関係としてcpprest.libを追加しましたか?正確な名前は、cpprestライブラリの静的リンクまたは動的リンクを実行しているかどうかによって異なります。

また、あなたは静的リンクを行っている場合は、_NO_ASYNCRTIMPプリプロセッサの定義を追加する必要があります。

希望すると便利です。

関連する問題