【发布时间】:2019-07-17 18:54:52
【问题描述】:
我有一个cmake/gcc 项目,我在其中启用了几个警告和标志-Werror。
我注意到当我使用cmake 标志-DCMAKE_BUILD_TYPE=Release 时会检测到一些警告,但当我不应用上述cmake 标志时不会出现这些警告。 例如,这些警告之一是:
error: ‘var_name’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
我在这里读到:Set CFLAGS and CXXFLAGS options using CMake 有几个 CMAKE_C_FLAGS 变量用于不同的构建类型,例如,CMAKE_C_FLAGS_RELEASE。
我已尝试将这些变量应用于发布和调试版本,但这次以上都没有检测到我预期的警告。
我错过了什么?
【问题讨论】:
-
不存在 of
CMAKE_BUILD_TYPE变量设置并不意味着Debug构建。项目可能会默认设置构建类型,但如果不这样做,则构建类型为“无”,并且没有应用特定标志。