我正在为CMake使用cotire(https://github.com/sakra/cotire)插件,它处理与编译加速有关的几件好事(例如预编译头文件)。
问题是我包含了几个标题(Boost related或Protobuf)作为系统标题 - 其中警告被禁用。在预编译之后,我收到了很多警告。
我可以在预编译的标头中禁用警告吗?
答案 0 :(得分:1)
我认为没有内置方法可以做到这一点,我们修改了cotire函数cotire_add_pch_compilation_flags(第1244行cotire.cmake版本1.5.1),以便在编译预编译头时添加“-w”标志。我们将GNU | CLang部分改为
elseif (_compilerID MATCHES "GNU|Clang")
# GCC / Clang options used
# -x specify the source language
# -c compile but do not link
# -o place output in file
set (_xLanguage_C "c-header")
set (_xLanguage_CXX "c++-header")
if (_flags)
# append to list
list (APPEND _flags "-x" "${_xLanguage_${_language}}" "-w" "-c" "${_prefixFile}" -o "${_pchFile}")
else()
# return as a flag string
set (_flags "-x ${_xLanguage_${_language}} -w -c \"${_prefixFile}\" -o \"${_pchFile}\"")
endif()
这抑制了我们的所有警告,我们打开了很多警告 - 包括 - 错误,所以这是一个必不可少的变化!