【发布时间】:2015-06-18 17:12:42
【问题描述】:
当我在 Intel 编译器中使用 boost-build 时,使用内置的“intel”工具,它在将源代码编译为目标文件时使用 icpc,但使用 ar 来制作 .a 静态库。通常这很好,因为英特尔自己的存档器xiar 主要是ar 的包装器。
但是,当我在大型应用程序中构建一些(但不是全部)库/模块时,我正在尝试使用英特尔的“程序间优化”(-ipo) 选项。我希望它在库/模块内进行优化,而不是在库/模块之间进行优化。为此,我必须在制作.a 文件时使用xiar 或xild -lib,因为ar 不理解icpc -ipo 创建的.o 文件。它认为它成功了,但是它制作的.a 在链接阶段会失败。
如何将 boost-build 用于创建存档的命令从默认的 ar 更改为 xiar?
我尝试将<linker>(我看到msvc 内置工具支持)添加到我的user-config.jam 中的using intel 语句中,但它似乎被忽略了。而且我不知道这会影响归档器的选择。
【问题讨论】:
标签: c++ bjam boost-build icc