编译为dll的控制台应用程序正在托管winforms C++; 我用C++编写了一个简单的控制台应用程序,其中有两个.cp文件和一个.h文件。我已将程序集设置为dll。创建winForms项目时,无法添加对dll的引用,因为它不是托管代码。很公平。因此,我返回控制台应用程序,并在项目的属性中将Common Lanauge运行时支持设置为/clr

编译为dll的控制台应用程序正在托管winforms C++; 我用C++编写了一个简单的控制台应用程序,其中有两个.cp文件和一个.h文件。我已将程序集设置为dll。创建winForms项目时,无法添加对dll的引用,因为它不是托管代码。很公平。因此,我返回控制台应用程序,并在项目的属性中将Common Lanauge运行时支持设置为/clr,c++,dll,reference,console,managed,C++,Dll,Reference,Console,Managed,当我尝试编译时,会出现以下错误: 错误1错误D8016:“/ZI”和“/clr”命令行选项不兼容

当我尝试编译时,会出现以下错误:

错误1错误D8016:“/ZI”和“/clr”命令行选项不兼容

<关于如何将控制台应用程序应用到管理C++中的任何建议,以供WiFrm项目使用?

谢谢
托马斯

/clr与/ZI不兼容


使用/clr:

控制台应用程序不是DLL时,请查看此页面以了解限制;这是一个控制台应用程序。DLL通常是可以调用的函数或可以使用的COM/ActiveX接口。这不是一个独立的可执行文件。只需编译一个带有/CLR的C++应用程序就不会使它成为托管代码。托管C++是它自己的复杂野兽。你到底想用这个编译成DLL的程序做什么?我用了一个控制台来测试它。实际上,我只是创建了一个空项目,然后卡在头文件和2.cpp文件中。我认为管理C++是在本地C++之上构建的?该项目只是简单的加密。一对公开了方法的类。我想使用winForms在其上创建一个表示层。我不明白为什么它不能编译成CLR。C++ + CLI不仅仅是本地C++。它有自己的附加数据类型、运算符以及关于内存交互和分配的规则。仅使用/clr编译并不会使代码神奇地变成托管代码。我的项目相对较小,所以代码更改应该最小。我只有一个托管代码将使用的函数,可以使用String^。转换我的项目有多容易?