【问题标题】:Add compiler flag for Visual Studio 2005 with CMake 2.8.1使用 CMake 2.8.1 为 Visual Studio 2005 添加编译器标志
【发布时间】:2010-07-08 11:28:34
【问题描述】:

可能是一个简单的初学者问题:我想将编译器标志 /EHsc 添加到我的项目中并尝试了两种方法

SET_TARGET_PROPERTIES(name_of_my_project PROPERTIES COMPILER_FLAGS "/EHsc")

SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")

在我的 CMakeLists.txt 中。通过这两者,CMake 生成了一个 Visual Studio 解决方案而不会抱怨。

编辑:最初我问为什么两个版本都不起作用。好吧,因为我是个白痴,在别处犯了一个错误,所以这两行都没有处理过。不过,我想知道这两个版本是否相同。

【问题讨论】:

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


    【解决方案1】:

    它们在只有 1 个目标的项目上是等效的。


    SET_TARGET_PROPERTIES 为命名目标设置编译器标志(在您的情况下,它恰好也是项目的名称)。如果您有多个目标,则其他目标不会设置“/EHsc”标志。

    请注意,您要使用COMPILE_FLAGS 而不是COMPILER_FLAGS,从而使行正确:

    SET_TARGET_PROPERTIES(name_of_my_project PROPERTIES COMPILE_FLAGS "/EHsc")
    

    SET(CMAKE_CXX_FLAGS ...) 将为当前目录以及任何子目录中的所有目标设置 C++ 标志。因此,您可以使用它来设置适用于所有目标的全局 C++ 标志,即项目中定义的库和可执行文件。


    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      • 2010-12-13
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多