0

ねえ、私は非常にイライラするバグがあります。

C++ Windows Phone 8 アプリがあり、StreamSocket を使用しようとしています。

説明する前に、エラーの原因となるコードを次に示します。

using namespace Windows::Networking;
using namespace Windows::Networking::Sockets;
using namespace Windows::Storage::Streams;

// --- monkey api code ---
void HttpPost(String url,String data,Array<String > result) {
    //url.ToCString<wchar_t>()
    auto uri = ref new Windows::Foundation::Uri(url.ToWinRTString());

    StreamSocket^ clientSocket = ref new StreamSocket();

    HostName^ serverHost = ref new HostName(uri->Host);

    Print("connecting");
    //task<void>(clientSocket->ConnectAsync(serverHost, uri->SchemeName, SocketProtectionLevel::SslAllowNullEncryption)).then([] (task<void> previousTask) {
        Print("connected!");
    //});
}

スニペットの元のプロジェクトをコンパイルすると、そのままで動作します。一番下の 2 行のコメントを外すと、未解決のエラーが発生します。

エラー 1 エラー LNK2019: 未解決の外部シンボル "long __stdcall CaptureUiThreadContext(struct IContextCallback * *)" (?CaptureUiThreadContext@@YGJPAPAUIContextCallback@@@Z) が関数 "public: void __thiscall Concurrency::details::_ContextCallback::_Resolve(bool) で参照されています)" (?_Resolve@_ContextCallback@details@Concurrency@@QAEX_N@Z) C:\dev\proj

「CaptureUiThreadContext」をグーグルで検索しましたが、何の助けにもならない検索結果が 1 つあります。私が使用しているコードやライブラリには、それへの参照はありません。これを解決するのに役立つ知恵の言葉はありますか?

これを含む、欠落しているヘッダーまたはライブラリは何ですか?

これは私の参照 http://msdn.microsoft.com/library/windows/apps/jj150597.aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-2です

4

1 に答える 1

1

Direct3DApp テンプレートからコードを新しい WP8 アプリにコピーすることで、私にとってはうまくいきます。

リンカのコマンドラインには次が含まれています"WindowsPhoneCore.lib" "RuntimeObject.lib" "PhoneAppModelHost.lib" /NODEFAULTLIB:"ole32.lib".

含まれてWindowsPhoneCore.libいますか?

于 2013-05-21T12:09:13.510 に答える