我有一块带有zynq芯片组和Armv7处理器以及Ubuntu 12.04的主板。我想用QtCreator远程构建和调试c ++程序。 我试图创建一个用于构建程序的工具包using this link。在板的工具链中添加了编译器,并将qt版本4.8.1添加到套件中(板上的qt版本为4.8.1)。
代码构建成功。问题是我的主板上的二进制文件不可执行,因为它似乎是64位二进制文件而我的主板不是64位。 我错过了什么吗?
我怎样才能检查我的配置是否编译qt到处都是正确的,这导致了我想要的qmake?
btw我自己的操作系统是Ubuntu 16.04 64bit。
答案 0 :(得分:0)
Xilinx页面上的指令指导如何为ARM构建交叉编译器,但我相信他们假设您将在32位Linux平台上执行这些步骤。另一方面,-xplatform qws/linux-arm-gnueabi-g++
选项应生成32位编译器。
您确定使用正确的选项构建正确的编译器构建代码吗?你有没有从命令行构建任何最小的例子,并检查file
命令告诉你生成的二进制文件是什么?对我来说,看起来,确实没有真正交叉编译你的项目。
答案 1 :(得分:0)
看起来很愚蠢,原因是我不知道Qt变量与系统变量无关,虽然我在终端中添加了CROSS_COMPILE
变量,但我应该将它添加到我的工具包环境变量中。
因此,MakeFile中的短语${CROSS_COMPILE}g++
只是g ++,输出是使用系统g ++的二进制编译。
我知道这应该是我应该早点找到的东西,但对于像我这样的初学者来说,这个愚蠢的东西本应该出现在互联网上。所以希望下一个遇到同样问题的人会找到这篇文章。