【问题标题】:Compile libraries for ARM toolchain(buildroot)为 ARM 工具链编译库(buildroot)
【发布时间】:2015-06-04 01:47:37
【问题描述】:

我正在使用 buildroot 的工具链为 ARM 交叉编译应用程序。但是,某些应用程序需要未为该工具链编译的库。我的主机工具链上有这些库,例如 -ljack、lfftw 等。

我需要知道,如果我获得了所需包的 tarball,那么我该如何配置它们,以便这些库由 arm-gcc 编译,并将标头/库复制到 buildroot 的 /usr 和 /include 中?

这样我应该可以通过 buildroot 的工具链访问这些库。

谢谢,

【问题讨论】:

    标签: gcc arm cross-compiling toolchain buildroot


    【解决方案1】:

    嗯,你需要将它们集成到 Buildroot 中。

    以 fftw 为例,在这种特殊情况下, fftw 已经在 Buildroot 中可用,您只需在构建中启用它即可。转到Target packages->Libraries->Other 并启用fftw

    如果您不知道在哪里可以找到软件包,请运行 make menuconfig 并输入 Ctrl-/ 以获取搜索框。在那里你可以输入例如fftw 并了解它在菜单系统中的位置以及它具有哪些依赖项。

    如果 fftw(或您需要的其他库)在 Buildroot 中没有/不可用,您需要自己添加它。参见例如adding packages to Buildroot.

    【讨论】:

    • 谢谢,是的,可以将包添加到 buildroot,然后可以构建图像,但是如果一个人已经有了发行版,他想手动编译库并将它们放入目录中怎么办?我知道这不是正确的方法,但是对于一些依赖很少的应用程序,应该能够手动链接它们吗?应该也可以吧?
    • 当然,我想您可以手动安装 sysroot 中的所有内容...和/或将 gcc 指向您拥有头文件和库的位置...尽管我不建议这样做。也许我在使用嵌入式系统时有偏见,但我总是想构建系统(在本例中为 Buildroot)来构建所有内容,因为这是获得可靠和可重复构建的唯一方法。
    猜你喜欢
    • 2016-08-30
    • 1970-01-01
    • 2021-03-19
    • 2017-07-02
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    相关资源
    最近更新 更多