CMake忽略了“这一点”;“将警告视为错误”;生成Windows项目时(/WX)
我的CMake版本是CMake忽略了“这一点”;“将警告视为错误”;生成Windows项目时(/WX),cmake,Cmake,我的CMake版本是3.18.0-rc2。在我的项目的CMakeLists.txt中,我有以下几行代码,它们用于提高警告级别,并将所有警告视为错误: if(MSVC) add_compile_options(/W4 /WX) add_link_options(/W4 /WX) else() add_compile_options(-Wall -Wextra -pedantic -Werror -Wl,--fatal-warnings) endif() 到目前为止,我只能
3.18.0-rc2
。在我的项目的CMakeLists.txt中,我有以下几行代码,它们用于提高警告级别,并将所有警告视为错误:
if(MSVC)
add_compile_options(/W4 /WX)
add_link_options(/W4 /WX)
else()
add_compile_options(-Wall -Wextra -pedantic -Werror -Wl,--fatal-warnings)
endif()
到目前为止,我只能在Windows上进行测试——如果将来我们尝试在其他平台上编译,那么非MSVC选项就在那里
当我使用CMake生成Visual Studio项目并检查设置时,警告级别被适当设置为/W4
,但/WX
未启用-它被设置为/WX-
我知道
add\u compile\u options()。然而,似乎无论我做什么,/WX
都不受尊重。有什么办法可以解决这个问题吗?我无法重现这个问题。您的项目中可能有其他内容影响了/WX
设置,或者您的add\u compile\u options
命令设置在错误的范围内,以便按预期正确更新目标属性。你能提供一个例子来说明这个问题吗?你是对的,在一个关闭了/WX
的项目的依赖关系中隐藏了一些东西。很高兴我没有完全发疯,那样的话。我也有同样的问题。我无法复制这个。您的项目中可能有其他内容影响了/WX
设置,或者您的add\u compile\u options
命令设置在错误的范围内,以便按预期正确更新目标属性。你能提供一个例子来说明这个问题吗?你是对的,在一个关闭了/WX
的项目的依赖关系中隐藏了一些东西。很高兴我没有完全发疯,我也有同样的问题。