【问题标题】:How to cross compile into ARM9 board? [duplicate]如何交叉编译成ARM9板子? [复制]
【发布时间】:2013-02-05 06:59:34
【问题描述】:

可能重复:
Building ARM GNU Cross compiler

我正在使用 POCO c++ 库在 ubuntu 环境中实现我的项目。我想从我的 POCO c++ 代码交叉编译到基于 ARM9 的板上。

如何为 ARM9 交叉编译它?

【问题讨论】:

    标签: c++ ubuntu poco-libraries


    【解决方案1】:

    为您的目标获取一个交叉编译器。然后在 $POCO_BASE/build/config(ARM-Linux、DigiEL、Angstrom、ELDK 等)中获取交叉构建配置之一,复制它并为您的工具链进行必要的更改。您可能需要更改 CC 和 CXX 变量以匹配工具链的可执行名称以及 POCO_TARGET_OSARCH。要么将环境变量 POCO_CONFIG 设置为构建配置的名称并为 Foundation、XML 等运行 make,要么运行

    ./configure --config=<YourConfig> --no-samples --no-tests
    ./make -s
    

    为您的目标构建 POCO。

    另外,http://pocoproject.org/docs/99150-GMakeBuildNotes.html 上的构建系统文档。

    【讨论】:

    • 嗨 gunter ,按照您的构建文档并在 ARM 板上运行之后。然后抛出类似 ./poco: symbol lookup error ./poco: undefined symbol: _ZTIN4Poco3Net18HTTPRequestHandlerE 的错误
    • 您确定已将您的可执行文件与所有必需的 POCO 库(很可能是 libPocoFoundation、libPocoXML、libPocoUtil、libPocoNet)相关联吗?
    • 是的,在 QT 框架中交叉编译,并且无论我在 ARM-Linux 板中包含的库路径与相同路径(放置 .so 库)相同,都生成文件。如果 lib 位置不正确,则抛出 libPoco *.so 丢失。但在我的情况下 libPocoNet.so.16 已链接,但 HTTPRequestHandler 没有得到定义。
    【解决方案2】:
    1. 为您的目标构建交叉编译器。
    2. 使用交叉编译器为该目标构建。

    【讨论】:

    • 哦,是的,差不多。很好的讽刺。
    • 我能感觉到这位先生的反应中的讽刺、枯燥的幽默。但也请给我们这些菜鸟一些腿部空间!
    猜你喜欢
    • 2018-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 2013-09-13
    • 1970-01-01
    • 2016-03-25
    • 2019-05-04
    相关资源
    最近更新 更多