【问题标题】:Force CMake to rebuild precompiled headers强制 CMake 重建预编译的头文件
【发布时间】:2020-08-16 07:46:01
【问题描述】:

如何让 CMake 重建所有预编译的头文件? (使用 g++ 和 Linux)我如何让 CMake 禁用所有预编译的头文件?

我收到了一些已经出现的构建错误,它们引用了.ch 文件。所以想调查一下这是否是由于预编译的头文件造成的。

【问题讨论】:

  • 你有这么大的项目,你真的需要预编译的头文件吗?
  • 我愿意。它是一个大项目。编译大约需要半个小时。

标签: c++ cmake precompiled-headers


【解决方案1】:

在 CMake 中,假设使用 target_precompile_headers() 命令,您可以通过设置 DISABLE_PRECOMPILE_HEADERS 属性来禁用特定 CMake 目标的预编译头:

set_target_properties(MyTarget PROPERTIES 
    DISABLE_PRECOMPILE_HEADERS ON
)

或者您可以通过在顶级 CMake 文件中进行设置来禁用 整个 项目的预编译头文件:

set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON)

要让 CMake 重建所有预编译的标头,您可以简单地删除那些已生成的标头,以便重新生成它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    相关资源
    最近更新 更多