Buildroot:仅构建一个包作为共享库和静态库,所有其他包仅共享
Buildroot: Build only one package as both shared and static lib, all others shared only
buildroot 提供构建的可能性
- 只有静态,
- 仅共享,
- 或共享库和静态库
个所选包。
分配的配置元素是 BR2_STATIC_LIBS
、BR2_STATIC_LIBS
和 BR2_SHARED_STATIC_LIBS
。
问题:
是否可以只为一个包构建共享库和静态库,而只为所有其他包[=45=构建共享库]?
我想要一个静态库的项目是一个基于 autotools 的包。
我的努力:
我确实看过手册,但无济于事。虽然我确实提出了一个想法,但我认为它行不通:我可以让 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 版本号编码在变量 BR2_VERSION
的 Makefile 顶部(当前母版中的第 90 行)。您还可以查看生成的 .config
文件的顶部,其中包含使用 git 提交哈希扩展的版本。
buildroot 提供构建的可能性
- 只有静态,
- 仅共享,
- 或共享库和静态库
个所选包。
分配的配置元素是 BR2_STATIC_LIBS
、BR2_STATIC_LIBS
和 BR2_SHARED_STATIC_LIBS
。
问题:
是否可以只为一个包构建共享库和静态库,而只为所有其他包[=45=构建共享库]?
我想要一个静态库的项目是一个基于 autotools 的包。
我的努力:
我确实看过手册,但无济于事。虽然我确实提出了一个想法,但我认为它行不通:我可以让 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 版本号编码在变量 BR2_VERSION
的 Makefile 顶部(当前母版中的第 90 行)。您还可以查看生成的 .config
文件的顶部,其中包含使用 git 提交哈希扩展的版本。