如何在Visual Studio中启用特定的c++警告
How to enable a specific c++ warning in Visual Studio
我的项目警告级别是/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 ")
相关文章:
- 警告处理为错误这里有什么问题
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- cppcheck在const std::string[]上引发警告
- GCC对可能有效的代码抛出init list生存期警告
- 如何在BST的这个简单递归实现中消除警告
- 关于std::move的使用,是否有编译警告
- g++ 在某个类成员未初始化时不发出警告
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 使用typeid警告未使用的变量
- 示例C++项目编译中的警告
- 警告:在函数返回类型 [-Wignore 限定符] 时忽略类型限定符
- 如何修复编译器警告 C6386 和 C6385?
- 返回语句后的代码,没有警告
- 获取隐式转换溢出从无符号到已签名的警告
- 编译器警告:执行到达值返回函数的末尾而不返回值
- 在未链接的部分上生成警告
- 警告 C4552:">>":未使用表达式的结果
- 禁止显示由于常量为零而比较始终为假的警告
- C++ 警告:将新创建的 gsl::owner<> 分配给非所有者
- 为什么布尔开关语句有编译器警告?