在QT和交叉编译方面,我有点困惑:
目前我已经在AT91SAM9263-EK上运行了Linux,并且使用buildroot构建了相应的文件系统,包括QT库。
同时,我也在我的Ubuntu上构建了QT-4.8。
现在我想构建一个示例应用程序:
我在我的Ubuntu上的QT中的examples文件夹中创建了一个makefile,使用qmake;我使用了mkspecs/qws/linux-arm-g++中给定的qmake.conf。
执行make时,我遇到了一个错误,因为它包括qatomic_i386.h并显示"error: impossible constraint in 'asm'"。显然,这个头文件与我的arm工具链不匹配。
我的问题是:如何在我的Ubuntu上配置Qt以构建适用于我的嵌入式Linux的Qt二进制文件?我需要包含由arm工具链构建的任何库吗?
感谢任何帮助!
问候
编辑: 我使用-spec标志,并传递路径到“mkspecs/qws/arm-linux-g++”,其中有一个“qmake.conf”文件。我没有更改这里的任何内容,因为我不知道哪些qmake变量与链接到我的与arm相关的库有关。所以正确的编译器被使用,我可以在make进程开始时进行验证。但是我观察到,在一个名为qconfig.h的配置文件中,有一个ARCH标志,它被设置为i386,但我还没有弄清楚如何配置它。我认为我不应该手动编辑这个文件。
编辑2: 有人知道qconfig.h文件背后的内容吗?我应该手动调整它吗?