如何跨不同平台交叉编译qt应用程序

时间:2009-12-19 04:41:34

标签: qt qt4 cross-platform cross-compiling

如何在Qt上交叉编译我的应用程序。至于每个项目

我需要两个版本

1)。在Qvfb& amp; i386架构

2)。哪个在Linux Framebuffer& amp; ARM架构

我已经为设备和Qvfb编译了Qt。我可以在两个平台上运行示例,但是如何交叉编译我的应用程序。我希望两个输出都保留在不同的目录中,这意味着i386的输出保留在output-i386平台上,而ARM的输出保留在输出-ARM目录中。

我正在使用Qt 4.6 for Embedded Linux。

3 个答案:

答案 0 :(得分:4)

您只需在DESTDIR文件中设置.pro即可。见the qmake variable reference。您可能还想调整变量OBJECTS_DIRUI_DIRMOC_DIRRCC_DIR

答案 1 :(得分:2)

Qt从mkspec文件中获取所有平台特定的详细信息。

使用qmake的-spec命令行参数指定mkspec文件到qmake进行交叉编译。

在mkspec文件中有许多定义,您可以通过它定制不同平台的编译,例如我可以使用 DESTDIR 将最终输出文件发送到特定目录, OBJECTS_DIR 发送对象文件到特定目录。 MOC_DIR 将moc生成的文件发送到特定目录, UI_DIR 将uic生成的标头和cpp文件发送到特定目录。

答案 2 :(得分:2)

this article的结尾向您展示了如何在工作目录中更改qmake(您需要 首先运行make destclean。这篇文章概述了基本的Qt for embedded Linux环境,只是为了让您了解全局。