CMake:如何将每个资源编译器警告视为错误并抑制特定警告?
CMake: How to treat every resource compiler warning as error and to suppress specific warnings?
为了在使用 CMake 生成 MSVC 项目时抑制特定源文件中的特定警告,我正在使用类似的东西:
set_source_files_properties(
"ToursInfoMng.cpp"
PROPERTIES
COMPILE_FLAGS "/wd4503")
这不适用于资源编译器警告。例如警告:
warning RC4206: title string too long; truncated at 256
我尝试使用:
set_source_files_properties(
"ResEs.rc"
PROPERTIES
COMPILE_FLAGS "/wd4206")
但这不会抑制警告。
- 如何正确抑制资源编译警告?
- 如何处理未被抑制为错误的资源编译器警告?
我将 \WX
用于编译器和链接器警告,分别将其设置为 CMAKE_CXX_FLAGS
和 CMAKE_STATIC|SHARED|EXE_LINKER_FLAGS
,但我不知道如何针对资源编译器警告执行此操作.
我认为这两者都不可能。 Windows 资源编译器没有记录的一般警告控制选项,只需键入 rc /?
进行检查。
您可以使用 CMAKE_RC_FLAGS
更改资源编译器的标志。
COMPILE_FLAGS
和 COMPILE_OPTIONS
上还有一个过滤器,可防止它们被用于将任何未定义或包含的标志传递给资源编译器。原则上,如果需要,您可以更改过滤器 (CMAKE_RC_FLAG_REGEX
) 以便能够将这些属性用于更多用途,但在这种情况下这对您没有帮助。
#pragma warning(push)
#pragma warning(disable : 4101)
// Function Here : Declare
#pragma warning(pop)
那么如果你想抑制 Visual C++ 的特定警告
按照此参考:https://msdn.microsoft.com/en-us/library/jj715718.aspx
按 Ctrl+F > 输入 "To suppress specific warnings for Visual C++"。
您可以找到如何抑制特定警告。
为了在使用 CMake 生成 MSVC 项目时抑制特定源文件中的特定警告,我正在使用类似的东西:
set_source_files_properties(
"ToursInfoMng.cpp"
PROPERTIES
COMPILE_FLAGS "/wd4503")
这不适用于资源编译器警告。例如警告:
warning RC4206: title string too long; truncated at 256
我尝试使用:
set_source_files_properties(
"ResEs.rc"
PROPERTIES
COMPILE_FLAGS "/wd4206")
但这不会抑制警告。
- 如何正确抑制资源编译警告?
- 如何处理未被抑制为错误的资源编译器警告?
我将 \WX
用于编译器和链接器警告,分别将其设置为 CMAKE_CXX_FLAGS
和 CMAKE_STATIC|SHARED|EXE_LINKER_FLAGS
,但我不知道如何针对资源编译器警告执行此操作.
我认为这两者都不可能。 Windows 资源编译器没有记录的一般警告控制选项,只需键入 rc /?
进行检查。
您可以使用 CMAKE_RC_FLAGS
更改资源编译器的标志。
COMPILE_FLAGS
和 COMPILE_OPTIONS
上还有一个过滤器,可防止它们被用于将任何未定义或包含的标志传递给资源编译器。原则上,如果需要,您可以更改过滤器 (CMAKE_RC_FLAG_REGEX
) 以便能够将这些属性用于更多用途,但在这种情况下这对您没有帮助。
#pragma warning(push)
#pragma warning(disable : 4101)
// Function Here : Declare
#pragma warning(pop)
那么如果你想抑制 Visual C++ 的特定警告 按照此参考:https://msdn.microsoft.com/en-us/library/jj715718.aspx
按 Ctrl+F > 输入 "To suppress specific warnings for Visual C++"。 您可以找到如何抑制特定警告。