2013-02-07 68 views
1

我有一個C++ WinRT組件,我想從另一個組件中使用它們,這兩個組件都用於監視整個業務的C#類中。在C#類將C++類A到C++ B類的引用,C++類A可以使用B的方法就好了編譯,但是鏈接衝我發火:WinRT C++相互依賴關係沒有正確鏈接

CameraTextureGraphConnector.obj : error LNK2019: unresolved external symbol "public: void __cdecl TextureGraph::TextureRenderer::setTexturePtr(unsigned int,unsigned int,unsigned int)" ([email protected]@[email protected]@[email protected]) referenced in function __unwind$5 

從本質上講,我試圖來鏈接一些單獨的.dll文件,但我不知道如何連接點。嘗試與.lib鏈接在這裏不起作用,因爲其他C++組件需要生成一個由C#使用的.dll。我已經嘗試在項目屬性中將其他項目添加爲引用,但這似乎沒有任何作用,並且任何嘗試在該引用頁面中使用參數的嘗試都會導致默認值一旦加載點擊「應用」。

有沒有人有任何經驗將這些物體連接在一起?謝謝!

回答

1

我想通了。首先,您不應該從其他WinRT對象中獲取#include .h文件,只需在項目設置中將其引用添加到上述項目設置中即可。其次,你必須聲明你希望從外面用作爲public類所有類,例如:

public ref class TextureRenderer sealed { 
    ... 
} 

至於反對:

ref class TextureRenderer sealed { 
    ... 
}