在基于Buildroot的项目中,我需要一个存在于Buildroot中的库,但是比buildroot中的库更新。 (Buildroot目前提供了Armadillo v6.500的定义,而我们使用的是v7.800 - 无论如何,这个问题适用于任何库)。如何为这个较新的库添加定义,以便Buildroot下载并交叉编译最新版本的包?
有关更多信息:我们使用“外部”(see BR2_EXTERNAL_*
)路径和我们自己的(项目特定的)包定义。在此外部源中重新声明Armadillo库不起作用(因为它发现它是重复的)。因此,我们最终得到了以下解决方法:添加 new 包ARMADILLO7
(而不是ARMADILLO
),并使用自己的armadillo7/
目录,构建文件重命名为armadillo7*.
等。例如,armadillo7.mk
包括:
ARMADILLO7_VERSION = 7.800.2
ARMADILLO7_SOURCE = armadillo-${ARMADILLO7_VERSION}.tar.xz
ARMADILLO7_SITE = http://downloads.sourceforge.net/project/arma
...
(这是原始文件的副本,对于较新的文件命名约定略有修改,当然还有版本7.800)。
我们的包需要包ARMADILLO7
,而不是ARMADILLO
。但是,这不是一个干净的解决方案,在其他情况下,它可能根本不是一个解决方案。是否有更正确的方法来添加更新的包?