buildroot 提供构建的可能性
- 仅静态,
- 仅共享,
- 或者共享库和静态库
所选软件包的数量。
分配的配置元素为 BR2_STATIC_LIBS
、BR2_STATIC_LIBS
和 BR2_SHARED_STATIC_LIBS
。
问题:
是否可以为仅一个包构建共享库和静态库,同时仅为所有其他包构建共享库?
我想要一个静态库的项目是一个基于自动工具的包。
我的努力:
我确实阅读了手册,但无济于事。我确实提出了一个想法,但我认为它行不通:我可以让 buildroot 使用我定义的一些参数调用 configure
脚本,强制额外创建一个静态库。但是,这会与 buildroot 提供的参数发生冲突,从而迫使 configure
执行完全相反的操作。 (仅创建共享库。)
谢谢!
不幸的是,我什至无法判断我正在使用哪个版本的 buildroot,因为我没有找到获取 buildroots 版本号的方法。
最佳答案
Buildroot 不直接支持仅更改一个包的选项。这只会导致选项数量激增。
最简单的方法是编辑 package/foo/foo.mk
并向其中添加以下行:
FOO_CONF_OPTS += --enable-static
这些选项位于默认自动配置选项(其中包含 --enable-shared --disable-static
)之后,因此将覆盖它们。
如果您不想触及 Buildroot 源代码,您也可以在 local.mk
或 BR2_EXTERNAL
中执行此操作 - 请参阅手册了解如何操作设置这些。
Buildroot 版本号编码在 Makefile 顶部的变量 BR2_VERSION
中(当前 master 中的第 90 行)。您还可以查看生成的 .config 文件的顶部,其中包含使用 git commit 哈希扩展的版本。
关于c++ - Buildroot:仅构建一个包作为共享和静态库,所有其他包仅共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45958904/