Visual Studio:命令行错误D8016:'/ Ox'和'/ RTC'命令行选项不兼容

Dre*_*mOn 7 c++ visual-studio-2012

我正在使用Visual Studio 2012编写C++项目.我在构建项目时尝试使用O2或Ox优化.但它提示错误"cl:命令行错误D8016:'/ Ox'和'/ RTC'命令行选项不兼容."

我试图从互联网上找到解决方案,但它对我不起作用.

希望有人能帮助我.

最好

lpa*_*app 5

首先,您的错误代码是错误的。发布时您可能犯了一个错误,因为它应该是 D8016,而不是 D0816。希望您没有犯其他可能误导我们的错误......

除此之外,错误消息很清楚:

Visual Studio:命令行错误 D0816:“/Ox”和“/RTC”命令行选项不兼容

但您也可以在此处查看此错误类型的描述:

命令行错误 D8016

简短的回答 - 正如错误所说 - 你不能同时使用它们。生活充满了妥协,您需要选择对您更重要的任何一个。

解决方案是关闭/RTC发布版本,仅将其用于调试版本以查找问题。有关更多详细信息,请参阅相应的文档,该文档也可从上面的第一个链接获得:

运行时错误检查是您在运行代码中发现问题的一种方式;有关更多信息,请参阅如何:使用本机运行时检查。

如果您在命令行中使用任何 /RTC 编译器选项编译程序,则代码中的任何编译指示优化指令都将无声无息地失败。这是因为运行时错误检查在发布(优化)构建中无效。

您应该使用 /RTC 进行开发构建;/RTC 不应用于零售版本。/RTC 不能与编译器优化一起使用(/O 选项(优化代码))。使用 /RTC 构建的程序映像将比使用 /Od 构建的映像稍大且稍慢(最多比 /Od 构建慢 5%)。