我正在使用VS2010,在我的解决方案中,我的一个C ++ / CLI项目引用了另一个。但是只有当被引用的项目被编译为静态Lib时,它才能正确链接。
我在托管的.NET语言中读到了所有内容,.EXE,libs和.dll是相同的东西,只有一个标志或类似的东西。就像那样,我无法弄清楚为什么我会遇到所有这些链接错误,因为我编译项目的方式并不重要。
嗯,可能我错了。如果是这样,我如何在其他.exe项目中引用.exe项目,这样我就可以使用相同的类和方法而无需重新编译它。提前致谢,
西奥
答案 0 :(得分:2)
虽然引用EXE项目并在运行时加载它就好像它是一个DLL对于纯托管代码来说是好的,但这对于C ++ / CLI项目来说效果不好。 CRT将无法正确初始化,没有将运行的DllMain()入口点。
您需要创建DLL,使用CLR类库项目模板。
在编译或链接之后你会得到的错误可能是次要的。请确保在下一个问题中引用它们,错误消息旨在告诉您哪里出了问题。
答案 1 :(得分:0)
右键单击您的项目,然后在菜单中选择“添加参考...”。
PS:你能显示链接器错误消息吗?