【发布时间】:2022-07-22 00:58:38
【问题描述】:
在 C 代码上使用 VisualStudio 2019:
当我将 C 语言规范设置为 Legacy 以外的任何内容时...
...然后我得到:
我尝试了不同的 C++/C 规范组合(即使我只有 C 文件,所以 C++ 应该无关紧要)但我总是收到此错误。
令人讨厌的是,这个错误告诉我的很少。 哪些模式不兼容?如何从编译器中得到更详细的错误?
至少,它可以告诉我哪些标志不能混合。 这是命令行:
/GS /W3 /Zi /Od /fp:precise /D "_DEBUG" /D "_CONSOLE" /D "_CRT_SECURE_NO_WARNINGS" /D "_UNICODE" /D "UNICODE" /WX- /std:c11 /Gd /MDd /Fa"x64\Debug\" /EHsc /nologo /Fo"x64\Debug\" /Fp"x64\Debug\turboledzservice.pch" /diagnostics:column
【问题讨论】:
-
一个猜测......它不喜欢命令行上的
/std:c11,即使它与菜单项相同。如果您不使用命令行选项,会发生什么?或者,使用旧菜单选项并添加/std:c11测试程序中是否有一些仅对 c11 或更高版本有效(例如stdatomic.h和一些功能)?然后,您知道它处于正确的模式。是的,它应该告诉你它不喜欢哪些选项。但是,它毕竟是 MS ;-) 您可以编写一个脚本来循环并逐个添加 [或减去] 选项。或者,某种二进制搜索。
标签: c visual-c++ visual-studio-2019