Automake启用完整编译器警告:需移除哪些编译标志?
启用GCC完整编译警告的Automake配置调整
要在构建时获得完整的GCC警告,你需要移除所有以-Wno-开头的编译选项行——这类前缀的标志作用是禁用特定警告。
需要移除的行:
AM_CXXFLAGS += -Wno-memset-elt-size AM_CXXFLAGS += -Wno-stringop-truncation AM_CXXFLAGS += -Wno-stringop-overflow AM_CXXFLAGS += -Wno-int-in-bool-context AM_CXXFLAGS += -Wno-unused-label
各禁用选项对应的警告说明:
-Wno-memset-elt-size:关闭memset函数操作的元素大小与目标类型不匹配的警告-Wno-stringop-truncation:关闭字符串截断操作(比如strncpy导致的截断)的警告-Wno-stringop-overflow:关闭字符串操作可能导致缓冲区溢出的警告-Wno-int-in-bool-context:关闭整数被隐式转换为布尔值时的警告-Wno-unused-label:关闭代码中存在未使用标签的警告
保留的关键警告启用选项:
原配置中的-Wall、-Wsign-compare、-Wfloat-equal、-Wshadow都是启用额外严格警告的标志,建议保留以维持全面的代码检查能力。
内容的提问来源于stack exchange,提问作者user1584421
相关产品推荐
相关产品推荐

