WhyCan Forum

本站无需注册,无需积分,无需回复可下载所有资料,如果真的喜欢小站,请您注册之后请至少回复一个帖子激活Id,谢谢支持! 站长QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-04-12 11:19:16

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

用QT去操作V3S   是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

离线

#2 2019-04-12 11:21:15

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

生成二进制文件,在目标机器跑就可以了。

不明白你的意思

详细描述一下

离线

#3 2019-04-12 11:24:24

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

晕哥 说:

生成二进制文件,在目标机器跑就可以了。

不明白你的意思

详细描述一下

我现在是QT下面make了 生成了二进制文件 饭后直接放到V3S上面去跑
123_20190412-1123.png

离线

#4 2019-04-12 11:31:43

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

就是我现在用QT就创建了一个UI  我make了也生成了二进制文件,然后直接放到V3S里面去跑发现跑不起来

离线

#5 2019-04-12 11:32:34

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

这操作不对,你得用 arm gcc 工具链生成的Qt程序才行,看上面log你肯定是用 本机x86 工具生成的



https://whycan.cn/t_2169.html

可以先按照这个帖子做

离线

#6 2019-04-12 11:40:31

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

晕哥 说:

这操作不对,你得用 arm gcc 工具链生成的Qt程序才行,看上面log你肯定是用 本机x86 工具生成的



https://whycan.cn/t_2169.html

可以先按照这个帖子做

我从那个帖子中没有看到关于QT操作的   
我现在编译了我改了
CC            = arm-linux-gnueabihf-gcc -lts
CXX           = arm-linux-gnueabihf-g++ -lts

离线

#7 2019-04-12 11:42:50

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

构建Qt应用程序,   视频地址:  buildroot成功后如何编译Qt应用程序


看下上面这个视频

离线

#8 2019-04-12 13:16:04

真的是很烦
会员
注册时间: 2018-10-08
累计积分: 84

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

可以readelf 或者 直接file看下那KADIBCM_GUI

离线

#9 2019-04-12 14:04:10

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

我现在用qmake  了 也出现了Makefile
在MakeFIle里面修改了这两处就编译不通过 以前的是gcc  和g++
CC            = arm-linux-gnueabihf-gcc -lts
CXX           = arm-linux-gnueabihf-g++ -lts


出现的错误是
root@ubuntu:/home/share/KADIBCM_GUI/KADIBCM_GUI/KADIBCM_GUI# make
g++ -Wl,-O1 -Wl,-rpath,/opt/Qt5.4.1/5.4/gcc_64 -Wl,-rpath,/opt/Qt5.4.1/5.4/gcc_64/lib -o KADIBCM_GUI tmp/obj/main.o tmp/obj/mainwindow.o tmp/obj/moc_mainwindow.o   -L/home/share/opt/Qt5.4.1/5.4/gcc_64/lib -lQt5Widgets -L/opt/Qt5.4.1/5.4/gcc_64/lib -lQt5Gui -lQt5Core -lGL -lpthread
/usr/bin/ld: tmp/obj/main.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: tmp/obj/main.o: Relocations in generic ELF (EM: 40)
/usr/bin/ld: tmp/obj/main.o: Relocations in generic ELF (EM: 40)
tmp/obj/main.o: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
Makefile:205: recipe for target 'KADIBCM_GUI' failed
make: *** [KADIBCM_GUI] Error 1

离线

#10 2019-04-12 14:10:36

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

你的 qmake 可执行程序的全路径是什么,我看看有没有错

离线

#11 2019-04-12 14:17:31

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

晕哥 说:

你的 qmake 可执行程序的全路径是什么,我看看有没有错

我不该Makefile里面的 CC 和CXX的时候就不会有错
1_20190412-1416.png

离线

#12 2019-04-12 14:20:45

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

CC            = gcc
CXX           = g++
如果生成的Makefile这两个参数是这样的然后我就直接make就不会有错了
如果是该为CC            = arm-linux-gnueabihf-gcc -lts
CXX           = arm-linux-gnueabihf-g++ -lts 这样就报错

离线

#13 2019-04-12 14:31:23

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

现在是这样的情况了 刚才那个问题没有了
2_20190412-1430.png

离线

#14 2019-04-12 14:45:30

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

说明你生成的Qt工具链不正确,参考我前面给的链接。

离线

#15 2019-04-12 14:47:46

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

晕哥 说:

说明你生成的Qt工具链不正确,参考我前面给的链接。

现在就是编译那个tslib没有找到

离线

#16 2019-04-12 14:49:57

超级萌新
会员
注册时间: 2018-05-04
累计积分: 176

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

无情一刀 说:
晕哥 说:

说明你生成的Qt工具链不正确,参考我前面给的链接。

现在就是编译那个tslib没有找到

buildroot 根目录打开 .config 文件,直接搜索 tslib,然后启用。

离线

#17 2019-04-12 14:53:37

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

超级萌新 说:
无情一刀 说:
晕哥 说:

说明你生成的Qt工具链不正确,参考我前面给的链接。

现在就是编译那个tslib没有找到

buildroot 根目录打开 .config 文件,直接搜索 tslib,然后启用。

我没有用buildroot

离线

#18 2019-04-12 15:04:37

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

那就试一下嘛,反正不要钱。

buildroot 省事省心,不用是你的损失

离线

#19 2019-04-13 09:34:02

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

显示那个MakeFIla文件里面的编译环境是
CC            = arm-linux-gnueabihf-gcc -lts
CXX           = arm-linux-gnueabihf-g++ -lts  这个

但是外面去编译的总是提示file not recognized: File format not recognized这样库错误

离线

#20 2019-04-13 09:37:58

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

无情一刀 说:

显示那个MakeFIla文件里面的编译环境是
CC            = arm-linux-gnueabihf-gcc -lts
CXX           = arm-linux-gnueabihf-g++ -lts  这个

但是外面去编译的总是提示file not recognized: File format not recognized这样库错误

昨天远程帮你看过了,
就是你编译出来的 Qt 工具链有问题
https://blog.csdn.net/u011113596/article/details/80325081

你编译时候参数没设置好,
所以编译出来是 x86_amd64 的。

离线

#21 2019-04-13 09:44:40

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

晕哥 说:
无情一刀 说:

显示那个MakeFIla文件里面的编译环境是
CC            = arm-linux-gnueabihf-gcc -lts
CXX           = arm-linux-gnueabihf-g++ -lts  这个

但是外面去编译的总是提示file not recognized: File format not recognized这样库错误

昨天远程帮你看过了,
就是你编译出来的 Qt 工具链有问题
https://blog.csdn.net/u011113596/article/details/80325081

你编译时候参数没设置好,
所以编译出来是 x86_amd64 的。


我现在的QT工具链有问题 那我现在是不是要重新安装QT 工具,

离线

#22 2019-04-13 09:48:39

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

重新编译仍然很麻烦, 用昨天那个 buildroot 里面的 qmake 就可以了。

对应的根文件系统也是用 buildroot-2018.08.2/output/target 这个目录的文件制作就可以了。

离线

#23 2019-04-13 09:51:59

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

晕哥 说:

重新编译仍然很麻烦, 用昨天那个 buildroot 里面的 qmake 就可以了。

对应的根文件系统也是用 buildroot-2018.08.2/output/target 这个目录的文件制作就可以了。


你说这个文件系统 我以后就是用制作文件系统的时候mkfs.jffs2 -s 0x100 -e 0x10000 -p 0xAF0000 -d rootfs/ -o jffs2.img
就将rootfs指向target这个目录就可以了是吧
我试了下 编译的出来的文件系统有37M左右 我们的内存没有这么大

最近编辑记录 无情一刀 (2019-04-13 10:00:20)

离线

#24 2019-04-13 10:05:25

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

无情一刀 说:
晕哥 说:

重新编译仍然很麻烦, 用昨天那个 buildroot 里面的 qmake 就可以了。

对应的根文件系统也是用 buildroot-2018.08.2/output/target 这个目录的文件制作就可以了。


你说这个文件系统 我以后就是用制作文件系统的时候mkfs.jffs2 -s 0x100 -e 0x10000 -p 0xAF0000 -d rootfs/ -o jffs2.img
就将rootfs指向target这个目录就可以了是吧
我试了下 编译的出来的文件系统有37M左右 我们的内存没有这么大

酌情删掉一些不要的文件, 看看哪些文件比较大, 先删掉。

离线

#25 2019-04-13 11:21:14

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

对于下面三个库 不是很了解  他们作用是什么?
5_20190413-1120.png

离线

#26 2019-04-13 11:27:42

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

都是Qt的核心库,动态链接库。

你的 Flash 多大, 是 JFFS2 根文件系统吗? 根文件系统分配的flash空间多大?

离线

#27 2019-04-13 11:37:01

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

晕哥 说:

都是Qt的核心库,动态链接库。

你的 Flash 多大, 是 JFFS2 根文件系统吗? 根文件系统分配的flash空间多大?

是的 就是跟文件系统 主要是现在flash 总的只有16M

离线

#28 2019-04-13 11:43:47

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

无情一刀 说:
晕哥 说:

都是Qt的核心库,动态链接库。

你的 Flash 多大, 是 JFFS2 根文件系统吗? 根文件系统分配的flash空间多大?

是的 就是跟文件系统 主要是现在flash 总的只有16M

那装下 Qt 有点难度啊,
得了解一下 squashfs

https://whycan.cn/t_2179.html
https://whycan.cn/t_2170.html


如果上面还不行就得剪裁 Qt5了,
如果上面还不行就得剪裁 Qt4了.

离线

#29 2019-04-13 12:01:24

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

晕哥 说:
无情一刀 说:
晕哥 说:

都是Qt的核心库,动态链接库。

你的 Flash 多大, 是 JFFS2 根文件系统吗? 根文件系统分配的flash空间多大?

是的 就是跟文件系统 主要是现在flash 总的只有16M

那装下 Qt 有点难度啊,
得了解一下 squashfs

https://whycan.cn/t_2179.html
https://whycan.cn/t_2170.html


如果上面还不行就得剪裁 Qt5了,
如果上面还不行就得剪裁 Qt4了.

就是因为内存太小了
你说的剪裁QT是什么意思啊   我用QT编译好了工程 直接放到V3S板子里面去 就可以显示了吧????
我现在就是想的就是用SDnand去启动用个128M,

离线

#30 2019-04-13 12:14:15

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

sd nand 空间确实够大了。
剪裁就是通过配置去掉不需要的功能降低动态链接库大小。

离线

#31 2019-04-13 13:47:56

无情一刀
会员
注册时间: 2018-09-04
累计积分: 391

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

晕哥 说:

sd nand 空间确实够大了。
剪裁就是通过配置去掉不需要的功能降低动态链接库大小。

其实用SD nand 我们是用那种小型的  直接焊接上去了,但是就会带来一个问题 如果我下次要更新程序程序怎么办??

离线

#32 2019-04-13 13:57:00

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,109

Re: 用QT去操作V3S 是不是不要操作显示缓冲区 直接将编译后的工程放到V3S里面

无情一刀 说:
晕哥 说:

sd nand 空间确实够大了。
剪裁就是通过配置去掉不需要的功能降低动态链接库大小。

其实用SD nand 我们是用那种小型的  直接焊接上去了,但是就会带来一个问题 如果我下次要更新程序程序怎么办??

1. 如果Linux系统跑起来了, 通过Linux下的读写指令(open, read, write, close)更新分区数据

2. 可以在 u-boot 下装载 ext4/vfat 分区, 通过u-boot 指令更新.

3. 通过 sunxi-fel 命令把 u-boot和 zImage下载到 DRAM, 然后把Linux系统跑起来,
    把通过 usb gadget 把整片 sd nand 模拟成一个U盘,
    然后电脑系统就可以像读卡器一样读写 sd nand 芯片了.


以上都是想法, 未经实践。

离线

页脚