buildroot:仅构建一个包裹作为共享和静态lib,所有其他包装仅共享
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
。
问题:
是否可以同时构建一个只有一个软件包的共享和静态lib ,而仅为构建所有其他软件包的共享libs ?
我想要一个静态lib的一个项目将是一个基于自动的软件包。
我的努力:
我确实阅读了手册,但无济于事。不过,我确实提出了一个想法,但是我认为这是行不通的:我可以将BuildRoot称为configure
脚本,其中一些参数由我定义,强迫静态Lib的其他创建。但是,这将与Buildroot提供的参数相撞,这迫使configure
做相反的事情。(仅创建共享lib。)
谢谢!
不幸的是,我什至无法判断我正在使用哪个版本的BuildRoot,因为我找不到一种获取BuildRoots版本号的方法。
buildroot不直接支持一个软件包的更改选项。那只会爆炸选项的数量。
最简单的方法是编辑package/foo/foo.mk
并向其添加以下行:
FOO_CONF_OPTS += --enable-static
这些选项以默认的AutoConfig选项(包含--enable-shared --disable-static
)为之后,因此将覆盖它们。
如果您不想触摸BuildRoot源,也可以在local.mk
或BR2_EXTERNAL
中执行此操作 - 请参阅有关如何设置这些的手册。
buildroot版本编号是在变量BR2_VERSION
中的makefile(当前主机中的第90行)的顶部编码的。您还可以查看生成的.config
文件的顶部,该文件包含与Git Commit Hash扩展的版本。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 在cuda线程之间共享大量常量数据
- 如何从具有移动语义的类对象中生成共享指针
- 在c代码之间共享数据的最佳方式
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 我应该安装 .cmake 文件来共享/cmake 还是 lib/cmake?
- 为什么我的程序寻找共享资源.dll而不是Commons.lib
- 静态库将转换为共享的lib符号隐藏
- 如何在Windows Cmake中设置DLIB作为静态安装的共享LIB
- cmake : 共享库 : 如何获取 .lib 名称而不是.dll名称
- CMAKE链接在Windows上共享库(LIB),但找不到DLL
- buildroot:仅构建一个包裹作为共享和静态lib,所有其他包装仅共享
- 如果C 共享LIB会在C项目中引发一个exeption,会发生什么
- 多个动态链接库(DLL)是否可以从静态库(LIB)共享线程本地存储
- 无法加载/usr/local/lib(Fedora x64)中存在的共享库
- Qt在windows中共享库,不生成.lib文件
- 如何创建一个具有全局变量的 lib 文件,这些全局变量应该将其信息共享给另一个项目
- 当库已经在/usr/local/lib中时,无法找到共享库
- Qt-静态编译的exe引用共享的lib