引用C ++ / CLI .exe项目时链接错误

时间:2010-06-10 15:50:27

标签: visual-c++ visual-studio-2010 c++-cli linker

我正在使用VS2010,在我的解决方案中,我的一个C ++ / CLI项目引用了另一个。但是只有当被引用的项目被编译为静态Lib时,它才能正确链接。

我在托管的.NET语言中读到了所有内容,.EXE,libs和.dll是相同的东西,只有一个标志或类似的东西。就像那样,我无法弄清楚为什么我会遇到所有这些链接错误,因为我编译项目的方式并不重要。

嗯,可能我错了。如果是这样,我如何在其他.exe项目中引用.exe项目,这样我就可以使用相同的类和方法而无需重新编译它。

提前致谢,

西奥

2 个答案:

答案 0 :(得分:2)

虽然引用EXE项目并在运行时加载它就好像它是一个DLL对于纯托管代码来说是好的,但这对于C ++ / CLI项目来说效果不好。 CRT将无法正确初始化,没有将运行的DllMain()入口点。

您需要创建DLL,使用CLR类库项目模板。

在编译或链接之后你会得到的错误可能是次要的。请确保在下一个问题中引用它们,错误消息旨在告诉您哪里出了问题。

答案 1 :(得分:0)

右键单击您的项目,然后在菜单中选择“添加参考...”。

PS:你能显示链接器错误消息吗?