Buildroot:只构建一个包作为共享和静态库,所有其他包只共享
buildroot提供了构建的可能性
- 只有静态,
- 只有共享,
- 或者共享和静态库
所选包裹
分配的配置元素是BR2_STATIC_LIBS
, BR2_STATIC_LIBS
和BR2_SHARED_STATIC_LIBS
。
题:
是否可以仅为一个包构建共享和静态库,同时仅为所有其他包构建共享库?
我想要一个静态库的一个项目是一个基于autotools的包。
我的努力:
我确实阅读了手册,但无济于事。 我确实提出了一个想法,但我认为它不起作用:我可以使用buildroot调用configure
脚本,并使用我定义的一些参数强制另外创建一个静态库。 但是,这会与buildroot提供的参数冲突,这会强制configure
完全相反。 (仅创建共享库。)
谢谢!
不幸的是我甚至无法分辨出我正在使用哪个版本的buildroot,因为我没有找到获得buildroots版本号的方法。
Buildroot不直接支持仅更改一个包的选项。 这只会爆炸选项的数量。
最简单的方法是编辑package/foo/foo.mk
并添加以下行:
FOO_CONF_OPTS += --enable-static
这些选项位于默认的autoconfig选项(包含--enable-shared --disable-static
)之后,因此将覆盖它们。
如果您不想触摸Buildroot源,您也可以在local.mk
或local.mk
执行此BR2_EXTERNAL
– 请参阅手册以了解如何设置它们。
Buildroot版本号编码在变量BR2_VERSION
Makefile的顶部(当前主站中的第90行)。 您还可以查看生成的.config
文件的顶部,该文件包含使用git commit hash扩展的版本。