如何在Visual Studio中启用特定的c++警告

How to enable a specific c++ warning in Visual Studio

本文关键字:c++ 警告 启用 Visual Studio      更新时间:2023-10-16

我的项目警告级别是/w3。我想从warnlevel 4启用单个警告。如"C4296 'operator': expression is always false"

我如何在CMake文件的cxx标志中做到这一点?

只需添加到您的主CMakeLists.txt (CMake版本>= 2.8.12)一般

add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/w34296>")

或(感谢@tambre的提示)仅到特定目标

target_add_compile_options(MyTarget "$<$<CXX_COMPILER_ID:MSVC>:/w34296>")

显示的生成器表达式将警告C4296添加到MSVC编译器的警告级别3(关于VC警告选项,请参阅@Richard Critten提供的链接)

在Visual Studio项目中使用CMake设置编译选项的更多可能性可以在我的回答中找到。

这段代码适合我。

#enable compiler warning C4296 in warnlevel 3
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /w34296 ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /w34296 ")