2013-02-07 41 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 { 
    ... 
}