CMake:如何将每个资源编译器警告视为错误并禁止特定警告?

时间:2017-07-10 11:40:41

标签: c++ visual-c++ cmake warnings compiler-warnings

要在使用CMake生成 MSVC 项目时禁止特定源文件中的特定警告,请使用以下内容:

vers

这对资源编译器警告不起作用。例如警告:

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") 编译器和链接器警告分别将其设置为\WXCMAKE_CXX_FLAGS,但我不知道如何为资源执行此操作编译器警告。

2 个答案:

答案 0 :(得分:1)

我不相信其中任何一种都是可能的。 Windows资源编译器没有记录的常规警告控制选项,只需键入rc /?进行检查。

您可以使用CMAKE_RC_FLAGS更改资源编译器的标记。

COMPILE_FLAGSCOMPILE_OPTIONS上还有一个过滤器,可以防止它们被用于将任何未定义或包含的标志传递给资源编译器。原则上,如果您需要,可以更改过滤器(CMAKE_RC_FLAG_REGEX)以便能够使用这些属性,但在这种情况下这对您没有帮助。

答案 1 :(得分:-1)

#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>键入“禁止Visual C ++的特定警告”。 您可以找到如何禁止特定警告。