【问题标题】:How to see which gcc options are use by CMake?如何查看 CMake 使用了哪些 gcc 选项?
【发布时间】:2018-12-11 12:35:39
【问题描述】:

有没有人知道 CMake 在调试和发布配置中默认使用了哪些构建标志?

【问题讨论】:

  • 相关"Which variable for compiler flags of CMake's ADD_LIBRARY function?"。这实际上取决于您使用的平台/编译器。所以你必须运行一个 CMake "hello world" 项目来查看使用了什么。
  • 默认值在Modules/Compiler/GNU.cmake中定义
  • 如果以下答案之一解决了您的问题,您应该接受它(单击相应答案旁边的复选标记)。这有两件事。它让每个人都知道您的问题已得到您满意的解决,并为帮助您的人提供帮助。 See here 以获得完整的解释。

标签: c++ gcc build cmake flags


【解决方案1】:
  1. cmake-gui,它将打印您当前项目中使用的所有变量。

  2. 如果你在构建过程中,你可以执行make VERBOSE=1查看实际的命令(当然包括标志)

【讨论】:

    【解决方案2】:

    把我的 cmets 变成答案

    GNU 的默认值在Modules/Compiler/GNU.cmake 中定义:

    # Initial configuration flags.
    string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
    string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g")
    string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os -DNDEBUG")
    string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3 -DNDEBUG")
    string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g -DNDEBUG")
    

    但其余的实际上取决于您使用的平台/编译器。所以你必须运行一个 CMake “hello world”项目来查看使用了什么(见@hellow 的回答)。

    参考文献

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-08
      • 2011-01-26
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      • 2013-09-03
      • 2015-09-28
      • 1970-01-01
      相关资源
      最近更新 更多