C++项目编译强制使用 /clr 选项,尽管在没有公共语言运行时支持的情况下执行它

C++ project compilation forcing the option /clr though executing it with no Common Language Runtime support

本文关键字:公共语言 运行时 支持 执行 情况下 编译 项目 选项 clr C++      更新时间:2023-10-16

我有一个 CLI/C++ 项目,其中我删除了 .NET 中的代码,只保留了C++中的代码。尽管我已经通过选择">无公共语言运行时支持"从项目中关闭了选项/clr,但在编译过程中,代码会引发错误:

Command line error D8016 : '/EHs' and '/clr' command-line options are incompatible

此外,编译期间生成的日志文件显示:

...
...
/FD /EHsc /MTd /Fo"C:UsersEndeDesktopSlot2008buildDebug\" /Fd"C:UsersEndeDesktopSlot2008buildDebug\vc90.pdb"
/W3 /c /Zi /clr /TP /wd4945 .MAIN.cpp

因此,无论如何,VC++ 正在强制使用/clr 选项进行编译,尽管它已关闭。 提前感谢您对此行为的任何解释。

对于那些喜欢这个问题的人来说,答案是您可能会在互联网上尝试许多与调整编译选项相关的建议。如果可能没有任何效果(相信我,配置文件往往会变得混乱(,我建议您创建一个新的 Win32 项目并将所有源代码放入此项目中。