【发布时间】:2012-09-18 18:05:12
【问题描述】:
我对 QT 和交叉编译有点困惑 我的 arm-linux 的应用程序:
到目前为止,我的 AT91SAM9263-EK 上运行了一个 linux 和一个合适的 通过 buildroot 构建的文件系统,包括 QT 库。
我还在我的 ubuntu 上构建了 QT-4.8。
现在我想构建一个示例应用程序:
我使用 ubuntu 在 QT 的示例文件夹中创建了一个 makefile qmake;我在 mkspecs/qws/linux-arm-g++ 中使用了给定的 qmake.conf。
执行 make 时出现错误,因为它包含 qatomic_i386.h 和消息“错误:'asm' 中的不可能约束”。 这个头文件显然和我的 arm 工具链不匹配。
我的问题: 如何在我的 ubuntu 上配置 Qt 为我的嵌入式 linux 构建 Qt 二进制文件 在胳膊上?我需要包含由 arm 工具链构建的任何库吗?
感谢任何帮助!
问候
编辑: 我使用 -spec 标志并将路径传递到“qmake.conf”所在的“mkspecs/qws/arm-linux-g++”。我在这里没有更改任何内容,因为我不知道哪个 qmake 变量与链接到我的 arm 相关库相关。 所以使用了正确的编译器,我可以验证 make 过程何时开始。但我观察到在一个名为 qconfig.h 的配置文件中有一个 ARCH 标志设置为 i386,但我不知道如何配置它。我认为我不应该手动编辑此文件。
编辑2: 有人知道文件 qconfig.h 背后的内容是什么?我应该手动调整它吗?
【问题讨论】:
-
qmake 参考手册是查找所有 qmake.conf 变量的好地方:qt-project.org/doc/qt-5/qmake-variable-reference.html