gpt4 book ai didi

c++ - 构建没有文件名修饰的 Boost?

转载 作者:太空狗 更新时间:2023-10-29 21:31:08 24 4
gpt4 key购买 nike

Boost C++ 库的默认命名约定是:

libboost_regex-vc71-mt-d-1_34.lib

所有库都内置在同一个目录中。我想修改构建过程,使文件名不包含目标体系结构或构建类型(版本没问题)。我希望文件最终位于不同的目录中,具体取决于正在构建的体系结构:

vc71/debug/libboost-1_34.lib

vc71/release/libboost-1_34.lib

知道如何做到这一点吗?

最佳答案

您可以通过传递“--layout=system”从库文件名中删除所有装饰。您上面的示例显示了“vc71/release”路径——没有开箱即用的方法来获取此布局。你可以用一点黑客来做到这一点。在 Jamroot 中,找到“stage-proper”目标,它将位置指定为:

  <location>$(stage-locate)/lib

您可以修改它以根据属性指定不同的位置,例如:

  <variant>release:<location>$(stage-locate)/lib/release
<variant>debug:<location>$(stage-locate)/lib/debug

请参阅Boost.Build website获取更多文档

关于c++ - 构建没有文件名修饰的 Boost?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1084982/

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