1

別のコンポーネントから使用したい C++ WinRT コンポーネントがあり、どちらもビジネス全体を監督する C# クラスから使用されています。C# クラスは C++ クラス A に C++ クラス B への参照を渡し、C++ クラス A はコンパイルのために B のメソッドを問題なく使用できますが、リンクは私に腹を立てます:

CameraTextureGraphConnector.obj : error LNK2019: unresolved external symbol "public: void __cdecl TextureGraph::TextureRenderer::setTexturePtr(unsigned int,unsigned int,unsigned int)" (?setTexturePtr@TextureRenderer@TextureGraph@@Q$AAAXIII@Z) referenced in function __unwind$5

基本的に、別の .dll 内の何かに対してリンクしようとしていますが、ドットを接続する方法がわかりません。他の C++ コンポーネントが C# によって消費される .dll を生成する必要があるため、.lib とリンクしようとしてもここでは機能しません。プロジェクトのプロパティで他のプロジェクトを参照として追加しようとしましたが、効果がないようです。その参照ページのパラメーターをいじろうとすると、すぐにデフォルトが読み込まれます。 「適用」を押します。

これらのオブジェクトをリンクした経験のある人はいますか? ありがとうございました!

4

1 に答える 1

1

I figured it out. First, you should not #include .h files from other WinRT objects, you just add their references to your project in the project settings as described above. Secondly, you must declare all classes that you wish to use from the outside as public classes, e.g.:

public ref class TextureRenderer sealed {
    ...
}

As opposed to:

ref class TextureRenderer sealed {
    ...
}
于 2013-02-07T08:32:32.837 に答える