gpt4 book ai didi

cmake - 如何使用 CMake 启用链接时间优化 (LTO)?

转载 作者:行者123 更新时间:2023-12-03 11:05:42 25 4
gpt4 key购买 nike

我有最新的 cmake 构建并尝试所有构建配置(Debug、MinSizeRel、RelWithDebugInfo、Release、General)我在生成的 makefile 中看不到任何地方(文本搜索)字符串 -lto ,所以或功能仍然不存在,或者它需要手动干预(在这种情况下,文本搜索 LTO 或链接时间优化)对文档没有结果,所以我在官方文档中找不到启用 LTO 的方法。

有没有什么方法可以“全局”启用 LTO(对于所有编译器),而无需手动指定最坏情况下只能由 GCC 支持的标志?

最佳答案

编辑:截至 2015 年 10 月 28 日,CMake IRC

jcelerier | I have a question about INTERPROCEDURAL_OPTIMIZATION
jcelerier | it sounds like it should enable -flto on gcc
+ngladitz | jcelerier: its only implemented for the intel compiler
jcelerier | ngladitz: ah, okay
jcelerier | are there other switches for pgo / lto ?
jcelerier | or must it be done by hand ?
+ngladitz | there currently is no first class support otherwise

相关 CMake 问题: https://gitlab.kitware.com/cmake/cmake/issues/15245

CMake 有 INTERPROCEDURAL_OPTIMIZATION目标上的属性,听起来它可能会在某些平台上启用 LTO。

链接: http://www.cmake.org/cmake/help/v3.0/prop_tgt/INTERPROCEDURAL_OPTIMIZATION.html

要在目标 MyLib 上启用它:
add_library(MyLib ...)
...
set_property(TARGET MyLib PROPERTY INTERPROCEDURAL_OPTIMIZATION True)

关于cmake - 如何使用 CMake 启用链接时间优化 (LTO)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31355692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com