gpt4 book ai didi

c++ - Buildroot:仅构建一个包作为共享库和静态库,所有其他包仅共享

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:18 25 4
gpt4 key购买 nike

buildroot 提供构建的可能性

  • 只有静态的,
  • 仅共享,
  • 或共享库和静态库

所选包的数量。

分配的配置元素是 BR2_STATIC_LIBSBR2_STATIC_LIBSBR2_SHARED_STATIC_LIBS

问题:

是否可以为一个包同时构建共享库和静态库,而只为所有其他包构建共享库?

我想要一个静态库的一个项目是一个基于 autotools 的包。

我的努力:

我确实看过手册,但无济于事。虽然我确实提出了一个想法,但我认为它行不通:我可以让 buildroot 使用我定义的一些参数调用 configure 脚本,强制额外创建一个静态库。但是,这会与 buildroot 提供的参数发生冲突,这些参数会强制 configure 做相反的事情。 (仅创建共享库。)

谢谢!

不幸的是,我什至不知道我使用的是哪个版本的 buildroot,因为我没有找到获取 buildroots 版本号的方法。

最佳答案

Buildroot 不直接支持仅更改一个包的选项。那只会使选项的数量激增。

最简单的方法是编辑 package/foo/foo.mk 并向其中添加以下行:

FOO_CONF_OPTS += --enable-static

这些选项位于默认自动配置选项(包含 --enable-shared --disable-static)之后,因此将覆盖它们。

如果您不想接触 Buildroot 源代码,您也可以在 local.mkBR2_EXTERNAL 中执行此操作——请参阅手册了解如何操作设置这些。

Buildroot 版本号编码在变量 BR2_VERSION 中的 Makefile 顶部(当前母版中的第 90 行)。您还可以查看生成的 .config 文件的顶部,其中包含使用 git 提交哈希扩展的版本。

关于c++ - Buildroot:仅构建一个包作为共享库和静态库,所有其他包仅共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45958904/

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