【问题标题】:GLIBC_2.9 missing缺少 GLIBC_2.9
【发布时间】:2014-01-23 11:24:08
【问题描述】:

我在嵌入式系统领域工作,我试图为 ARMv7 平台交叉编译一个 QT 程序。

我正在使用以下交叉编译器---

" angstrom-2011.03-x86_64-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.3.tar"

我在 /usr/lib 文件夹中拥有程序所需的所有共享库(我在目标平台中使用 Angstrom-linux),所以我想不需要将共享库的路径提供给加载程序。但是仍然显示一些共享库需要 GLIBC_2.9 的错误(“错误:未找到 GLIBC_2.9”)。我的目标平台没有 gcc 编译器,所以我在交叉编译我的程序,这就是原因????????????

【问题讨论】:

  • 你的交叉编译器在哪里?
  • 然后“所以我想没有必要将我的共享库的路径提供给加载器。”是错的。您确实需要将 /usr/local/.../lib 传递给 qmake 文件中的 LIBS 变量。
  • 它在我电脑的主目录“~/usr/local/angstrom/arm/bin”中。我所有的共享库都在“~/usr/local/angstrom/arm/arm-angstrom -linux-gnueabi/usr/lib”。我使用的是在 x86 平台上运行的 64 位 Linux 系统。
  • 谢谢...让我试试
  • 看起来这个工具需要的 glibc 版本比你系统上的旧版本。

标签: qt embedded shared-libraries embedded-linux armv7


【解决方案1】:

这是您在基于 qmake 的项目中应该在您的场景中进行交叉编译的操作:

qmake -r -spec linux-arm-gnueabi-g++

qmake 项目文件应该包含以下内容:

LIBS += /usr/local/.../lib # path to your embedded target libraries

请注意,您可能还需要设置以下变量,以获得包含权限:

INCLUDEPATH += /usr/local/.../include # path to your embedded target headers

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 2021-09-22
    • 2021-05-14
    • 2020-06-22
    • 2012-04-21
    • 2018-04-25
    • 2019-12-15
    相关资源
    最近更新 更多