您尚未登录。

楼主 #1 2020-03-30 08:57:38

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,363
积分: 1323.5

请教,win下如何进行嵌入式qt编程?

做了个Nuc972的板子,编译uboot、kernel、buildroot用的使arm_linux_gcc 4.8.5。
builrdroot制作的带rootfs带的qt版本使5.6。
并且buildroot的Output/host/bin里有交叉编译用的qmake。
那么,我如果想在win下编译程序,然后在nuc972板上运行,该怎么操作?除了用虚拟机。

离线

楼主 #2 2020-05-22 15:51:00

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,363
积分: 1323.5

Re: 请教,win下如何进行嵌入式qt编程?

搜到了些文章,步骤是这样的:
在win下,
安装minGW;
安装arm-linux-xxx-gcc.exe(这个不知道和Linux下的arm-linux-xxx-gcc是否是一回事?);
下载qt-everysrc源码;
在minGW里移植qt源码,编译器指定为安装的arm-linux-xxx-gcc.exe,生成库文件及qmake(是不是只要qmake就可以了?);
win下的Qt creator里指定gcc和qmake(忘了这里需要不需要指定库)路径,然后就可以编译了。

这里,应该可以在mingGW下qmake,make命令编译qt程序吧。
是否可以把linux下已经交叉编译好的qmake及对应gcc,直接复制过来,然后在win的minGW环境下执行gcc及qmake命令?

最近编辑记录 Gentlepig (2020-05-22 15:52:47)

离线

楼主 #4 2020-05-22 16:35:11

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,363
积分: 1323.5

Re: 请教,win下如何进行嵌入式qt编程?

shaoxi2010 说:

实际上你只要把rootfs和qt.config配置上的路径改对,复制一份到windows的minigw上,配置下qt就可以了,qmake和其他东西其实是通用的,只需要mkspec和qtgloabl.h正确就行了。顺带一体debian上实现qt程序交叉编译也可以用这个思路,根本不需要什么交叉环境,贼方便。

那么,minGW下的gcc呢?也只直接复制linux下的arm-linux-gcc就可以吗?还是在win下专门安装个arm-linux-gcc.exe?

离线

楼主 #6 2020-05-26 16:02:43

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,363
积分: 1323.5

Re: 请教,win下如何进行嵌入式qt编程?

我在Linux下利用buildroot构建的输出文件里有host目录,里面有Linux下交叉编译qt程序的qmake。
我把这个host文件夹整个复制到win下,然后在win下进入msys或minGW,进入到该目录,执行qmake -V,结果却不能执行...

@DESKTOP-HQF1R40 MSYS /f/MPU/Nuvoton/Nuc972/host/usr/bin
$ ./qmake -V
-bash: ./qmake: 无法执行二进制文件: Exec format error

最近编辑记录 Gentlepig (2020-05-26 16:03:26)

离线

楼主 #8 2020-05-26 16:14:39

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,363
积分: 1323.5

Re: 请教,win下如何进行嵌入式qt编程?

有梦的地方 说:

这个没理由可以执行吧.

这么说,我还得在win的minGW下移植一遍qt?

离线

楼主 #10 2020-05-26 16:27:13

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,363
积分: 1323.5

Re: 请教,win下如何进行嵌入式qt编程?

有梦的地方 说:

感觉难度挺大的,windows下用同一个目标平台是arm的gcc版本的编译出Qt SDK, 还是挺折腾的,能力有限,只能想到这个。

因为看到上边的朋友说的,可能是我理解错了。也可能是我的方法不对。

离线

楼主 #13 2020-05-27 14:52:42

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,363
积分: 1323.5

Re: 请教,win下如何进行嵌入式qt编程?

shaoxi2010 说:

我觉得是你们理解错了,我指的是用minigw的qmake,不需要你再去生成一个。只需要指定好mkspec的东西就行,
qmake其实也就是一个按规则生成makefile的程序罢了,更本不需要这么折腾。如果是clang的qt那么更完美,甚至
只需要个sysroot就行了,本质上能不能用还要看minigw的gcc与实际gcc有没有版本差异,毕竟C++依赖于GCC版
本,不过不建议这么玩,实在是费力又不讨好。不过这个确实是使用debian等发行版进行交叉编译的qt程序的好办法
可以直接生成对应版本而不受影响。
https://whycan.cn/files/members/1749/2020-05-27_13-06.png
https://whycan.cn/files/members/1749/2020-05-27_13-11.png

看你的截图,像是在win下的minGW环境里打开了win的qmake.exe程序。
我试了下,用mingw32和msys尝试打开win的qmake.exe,都报错:未找到命令。
QQ截图20200527144737.jpg QQ截图20200527144725.jpg
用win的cmd终端倒是可以执行。
QQ截图20200527144745.jpg

最近编辑记录 Gentlepig (2020-05-27 14:53:50)

离线

楼主 #15 2020-05-27 16:21:32

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,363
积分: 1323.5

Re: 请教,win下如何进行嵌入式qt编程?

shaoxi2010 说:

大胆的猜测了下,你这个应该是下载的qt提供的二进制吧,我使用minigw安装的,不过没什么差异的,都能用,只要qmake还能跑就行

这个是win下下载的win版的qt安装程序安装后成成的qmake.exe。

离线

楼主 #17 2020-05-30 17:13:33

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,363
积分: 1323.5

Re: 请教,win下如何进行嵌入式qt编程?

新塘的bsp里给的交叉编译工具是:arm-nuvoton-linux-uclibcgnueabi/4.8.5。
我去linaro找到了win版的arm-linaro-linux-gnueabihf-4.8.exe,不知道行不行。

新塘的那个是uclib,而且没有hf后缀。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn