首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用CMake启用链接时间优化(LTO)?

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

Stack Overflow用户
提问于 2015-07-11 09:37:12
回答 4查看 32.4K关注 0票数 48

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

有没有任何方法可以使LTO“全局”(对于所有编译器),而不指定可能在最坏的情况下只有GCC支持的手动标志?

EN

Stack Overflow用户

发布于 2020-02-27 12:56:07

目前gcc和clang都支持lto。(参见:https://clang.llvm.org/docs/CommandGuide/clang.html https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html )您可以在via cmake: set (CMAKE_INTERPROCEDURAL_OPTIMIZATION True)中启用它,但是您需要拥有版本cmake >= 3.9,我认为可以设置一些策略并检查编译器/工具链是否支持LTO (检查CMAKE_IPO_AVAILABLE,否则抛出错误)。

并为gcc/clang设置标志( fcc >4.7的-flto和-ffat-lto-文件或clang的-flto=full/thin )

票数 -2
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31355692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档