@zoo520742 最后的断言"Segmentation fault"是你qt代码逻辑问题,排查一下有没有哪里写错了,是不是哪个变量没释放导致了。
vejoker 发布的帖子
-
回复: 分享QT中引入tplayer,未能渲染到weight中,有没有大佬能改写源码能在QT中使用发布在 GUI
-
回复: 分享QT中引入tplayer,未能渲染到weight中,有没有大佬能改写源码能在QT中使用发布在 GUI
空间不足,清一下/usr/src/app/public/uploads/files目录的文件,或者上级父目录的文件。一般图片之类的占用比较大
-
回复: 分享QT中引入tplayer,未能渲染到weight中,有没有大佬能改写源码能在QT中使用发布在 GUI
补充
使用ui布局文件,设置背景透明度
setWindowFlags(windowFlags() | Qt::FramelessWindowHint); this->setAttribute(Qt::WA_TranslucentBackground, true);
-
【经验分享】T113 使用GUI-Guider生成代码设计lvgl发布在 GUI
1、设计页面

随便绘制些东西,版本选的是LVGLv8.3.5,版本GUI-Guider-1.6.1-GA


导出代码,选择 工程->工程导出 ,重要的是custom和generated文件夹2、文件配置
下载对应的lvgl,https://github.com/lvgl/lvgl ,切换对应分支
下载对应的lvgl驱动,https://github.com/lvgl/lv_drivers ,切换对应分支

下载的lvgl-8.3.5重命名为lvgl
下载的lv_drivers-release-v8.3重命名为lv_drivers
创建ui文件夹,将custom和generated文件夹放进去

还有 从lvgl中复制lv_conf_template.h 到 当前目录,并重命名为 lv_conf.h 、 从lv_drivers 中复制 lv_drv_conf_template.h 到 当前目录,并重命名为 lv_drv_conf.h
剩下的main.c和Makefile从lv_port_linux_frame_buffer 来的,
lv_port_linux_frame_buffer 下载 https://github.com/lvgl/lv_port_linux_frame_buffer.git
从lv_port_linux_frame_buffer 中复制 main.c 和 Makefile 到 当前目录 下3、代码配置
修改lv_conf.h 文件
使能lv_conf.h 头文件,将#if 0修改为#if 1
修改LV_COLOR_DEPTH为32
修改LV_MEM_SIZE 为(1024U * 1024U)
修改LV_USE_LOG、LV_LOG_PRINTF 为1
修改LV_FONT_MONTSERRAT_12、14、16、24 为1修改lv_drv_conf.h 文件
使能修改lv_drv_conf.h 头文件,将#if 0修改为#if 1
使能LCD显示:使能USE_FBDEV,路径设置为/dev/fb0
设置触摸,设置USE_EVDEV为1,根据实际情况设置EVDEV_NAME修改main.c文件
头文件添加 #include "ui/generated/gui_guider.h"
头文件添加 #include "ui/generated/events_init.h"
屏蔽cursor for the mouse
修改显示屏的宽高,否则花屏,显示不全
配置启用文件


修改makefile
修改CC = arm-openwrt-linux-gcc ,改为你自己的编译器
修改BIN = lvgl_demo ,名字随便起
增加.mk依赖,include $(LVGL_DIR)/lv_drivers/lv_drivers.mk等,看图
屏蔽CSRCS +=$(LVGL_DIR)/mouse_cursor_icon.c

4、编译
在当前目录 直接执行
make
运行正常就会生成可执行文件
将lvgl_demo 可执行文件放入开发板
通过U盘方式或ADB
运行./lvgl_demo &5、遇到的问题
提示找不到
lvgl.h,

处理方法一
找到代码位置,改为
../../lvgl.h同lvgl/lvgl.h

这里只是其中一个示例,ui文件夹下的其他引用了lvlg.h文件的都会报这个错,通过上面的方法处理处理方法二
在
Mainfile中写入CFLAGS += -I$(LVGL_DIR_NAME)/ CFLAGS += -I$(LVGL_DIR)/ui/generated CFLAGS += -I$(LVGL_DIR)/ui/custom
-
DragonSN工具必须使用安全固件才可以烧号吗?发布在 编译和烧写问题专区
DragonSN工具必须使用安全固件才可以烧号吗?
使用的T113-S3芯片,我看手册写的烧录安全固件后无法再烧录非安全固件?
-
wifimanager的is_ap_connected显示有误发布在 Linux

上图,获取到ip的,也能联网。但是通过官方wifimanager的示例wifi_get_connection_info_test显示disconnected的状态

上面是源码请教大佬,如何获取wifi正确有效的连接状态?
-
回复: 分享QT中引入tplayer,未能渲染到weight中,有没有大佬能改写源码能在QT中使用发布在 GUI
【已解决:可以显示渲染到屏幕中】
自己挖的坑还得自己解决

按照以上步骤配置好环境,引入该有的库文件
在
main.cpp中,设置以下内容#include "mainwindow.h" #include <QApplication> #include <QDebug> #include <tplayer.h> #include "User/tpmanager.h" #include <QLabel> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; //可以注释掉这个MainWindow w窗体,使它不可见。或者给他透明度,我这里给的是透明度 w.setWindowOpacity(0.5);//这句不起作用,冗余代码 w.show(); //绘制内容在tplayer视频上 QLabel* label = new QLabel(); label->setText("hello"); label->setStyleSheet("font-size:20px;color:#ff0000"); label->move(400,460); label->show(); qInfo() << "hello" ; TPlayer* tplayer = TPlayerCreate(CEDARX_PLAYER); TPlayerSetNotifyCallback(tplayer,myCallback,NULL); TPlayerSetDisplayRect(tplayer,0,0,800,640);//设置位置大小 if(TPlayerSetDataSource(tplayer,"http://192.168.0.123:9999/explorer?path=upload%2F2025-03%2F4.mp4",NULL) != 0) { printf("TPlayerSetDataSource() return fail.\n"); } else { printf("TPlayerSetDataSource() end\n"); } if(TPlayerPrepare(tplayer)!= 0) { printf("TPlayerPrepare return fail.\n"); }else{ printf("TPlayerPrepare end\n"); } if(TPlayerStart(tplayer) != 0) { printf("TPlayerStart() return fail.\n"); }else{ printf("started.\n"); } return a.exec(); }效果图片:

-
QT交叉编译加入openssl报错发布在 GUI


#!/bin/sh ./configure \ -prefix /home/foot/qt/arm-T113-openssl \ -release \ -opensource \ -confirm-license \ -shared \ -xplatform linux-arm-gnueabi-g++ \ -optimized-qmake \ -pch \ -qt-sqlite \ -qt-libjpeg \ -qt-libpng \ -qt-zlib \ -no-opengl \ -skip qt3d \ -skip qtcanvas3d \ -skip qtpurchasing \ -skip qtlocation \ -skip qttools \ -no-sse2 \ -no-openssl \ -openssl-linked OPENSSL_INCDIR='/home/foot/Tina-SDK/out/t113-bingpi_m2/compile_dir/target/openssl-1.1.0i/ipkg-install/usr/include/openssl' OPENSSL_LIBDIR='/home/foot/Tina-SDK/out/t113-bingpi_m2/compile_dir/target/openssl-1.1.0i/ipkg-install/usr/lib' OPENSSL_LIBS='-lssl -lcrypto' \ -no-cups \ -no-glib \ -dbus-runtime \ -no-xcb \ -no-iconv \ -no-separate-debug-info \ -no-fontconfig \ -recheck-all \ -make examples \ -I/home/foot/Tina-SDK/out/t113-bingpi_m2/staging_dir/target/usr/include/ \ -I/home/foot/Tina-SDK/out/t113-bingpi_m2/staging_dir/target/usr/include/allwinner/ \ -I/home/foot/Tina-SDK/out/t113-bingpi_m2/staging_dir/target/usr/include/allwinner/include/ \ -I/home/foot/Tina-SDK/out/t113-bingpi_m2/compile_dir/target/openssl-1.1.0i/ipkg-install/usr/include/openssl \ -L/home/foot/Tina-SDK/out/t113-bingpi_m2/compile_dir/target/openssl-1.1.0i/ipkg-install/usr/lib \ -L/home/foot/Tina-SDK/out/t113-bingpi_m2/staging_dir/target/usr/lib/ #make -j2 #make installQt版本:5.12.9
openssl版本:openssl-1.1.0i请教一下大佬们,怎么解决
-
T133-S3芯片,XR829wifi蓝牙芯片,蓝牙传输数据大小问题发布在 Wireless & Analog Series
XR829芯片有蓝牙传输大小限制吗? client 写请求回调中,数据超过20个字节就无法接收了。

-
分享QT中引入tplayer,未能渲染到weight中,有没有大佬能改写源码能在QT中使用发布在 GUI

这是引入库部分,注释掉的是我写的用不上的,其中crypto需要在sdk中全局查找拷贝来的foot@foot-VirtualBox:~/qtFile/videoDemo/videoDemo$ tree . ├── main.cpp ├── mainwindow.cpp ├── mainwindow.h ├── mainwindow.ui ├── tpmanager │ ├── crypto1.1 │ │ ├── libcrypto.a │ │ ├── libcrypto.so -> libcrypto.so.1.1 │ │ ├── libcrypto.so.1.1 │ │ ├── libssl.a │ │ ├── libssl.so -> libssl.so.1.1 │ │ └── libssl.so.1.1 │ ├── include │ │ ├── cdx_config.h │ │ ├── CdxKeyedVector.h │ │ ├── libcedarc │ │ │ └── include │ │ │ ├── cdc_config.h │ │ │ ├── memoryAdapter.h │ │ │ ├── sc_interface.h │ │ │ ├── sdecoder.h │ │ │ ├── typedef.h │ │ │ ├── vbasetype.h │ │ │ ├── vdecoder.h │ │ │ ├── veAdapter.h │ │ │ ├── veInterface.h │ │ │ └── vencoder.h │ │ ├── libcedarx │ │ │ ├── base │ │ │ │ └── include │ │ │ │ ├── AwMessageQueue.h │ │ │ │ ├── AwPool.h │ │ │ │ ├── CdxAtomic.h │ │ │ │ ├── CdxBase64.h │ │ │ │ ├── CdxBinary.h │ │ │ │ ├── CdxBitReader.h │ │ │ │ ├── CdxBuffer.h │ │ │ │ ├── CdxDebug.h │ │ │ │ ├── CdxEnumCommon.h │ │ │ │ ├── CdxISOLang.h │ │ │ │ ├── CdxKeyedVector.h │ │ │ │ ├── CdxList.h │ │ │ │ ├── CdxList.i │ │ │ │ ├── CdxLock.h │ │ │ │ ├── cdx_log.h │ │ │ │ ├── CdxMemory.h │ │ │ │ ├── CdxMessage.h │ │ │ │ ├── CdxMeta.h │ │ │ │ ├── CdxQueue.h │ │ │ │ ├── CdxSocketUtil.h │ │ │ │ ├── CdxStrUtil.h │ │ │ │ ├── CdxSysinfo.h │ │ │ │ ├── CdxTime.h │ │ │ │ ├── CdxTypes.h │ │ │ │ ├── CdxUrl.h │ │ │ │ └── SmartDnsService.h │ │ │ ├── external │ │ │ │ └── include │ │ │ │ ├── adecoder │ │ │ │ │ └── adecoder.h │ │ │ │ ├── aencoder │ │ │ │ │ └── aencoder.h │ │ │ │ └── sdecoder │ │ │ │ └── sdecoder.h │ │ │ ├── parser │ │ │ │ └── include │ │ │ │ ├── awPlayReadyLicense.h │ │ │ │ └── CdxParser.h │ │ │ ├── playback │ │ │ │ └── include │ │ │ │ ├── deinterlace.h │ │ │ │ ├── layerControl.h │ │ │ │ ├── player.h │ │ │ │ ├── soundControl.h │ │ │ │ └── subtitleControl.h │ │ │ └── stream │ │ │ └── include │ │ │ ├── AwRtpStream.h │ │ │ ├── CdxSeqBuffer.h │ │ │ ├── CdxStreamErrno.h │ │ │ └── CdxStream.h │ │ ├── PostProcessCom.h │ │ ├── tplayer.h │ │ ├── videoOutPort.h │ │ └── xplayer │ │ └── include │ │ ├── mediaInfo.h │ │ ├── xplayer.h │ │ └── xplayerUtil.h │ ├── jpegdecode │ │ └── libjpegdecode.so │ ├── lib │ │ ├── libadecoder.so │ │ ├── libasound.so -> libasound.so.2.0.0 │ │ ├── libasound.so.2 -> libasound.so.2.0.0 │ │ ├── libasound.so.2.0.0 │ │ ├── libawrecorder.so │ │ ├── libcdx_playback.so │ │ ├── libcrypto.so -> libcrypto.so.1.0.0 │ │ ├── libcrypto.so.1.0.0 │ │ ├── libscaledown.so │ │ ├── libsubdecoder.so │ │ ├── libuapi.so │ │ ├── libvenc_common.so │ │ ├── libvenc_h264.so │ │ ├── libvenc_h265.so │ │ ├── libvenc_jpeg.so │ │ ├── libVE.so │ │ ├── libvideoengine.so │ │ ├── libxplayer.so │ │ ├── libz.a │ │ ├── libz.so -> libz.so.1.2.8 │ │ ├── libz.so.1 -> libz.so.1.2.8 │ │ └── libz.so.1.2.8 │ ├── libcedarc │ │ └── lib │ │ ├── libaftertreatment.la │ │ ├── libaftertreatment.so │ │ ├── libcdc_base.la │ │ ├── libcdc_base.so │ │ ├── libfbm.la │ │ ├── libfbm.so │ │ ├── libMemAdapter.la │ │ ├── libMemAdapter.so │ │ ├── libOmxCore.la │ │ ├── libOmxCore.so │ │ ├── libOmxVdec.la │ │ ├── libOmxVdec.so │ │ ├── libOmxVenc.la │ │ ├── libOmxVenc.so │ │ ├── libsbm.la │ │ ├── libsbm.so │ │ ├── libvdecoder.la │ │ ├── libvdecoder.so │ │ ├── libvenc_base.la │ │ ├── libvenc_base.so │ │ ├── libvencoder.la │ │ └── libvencoder.so │ ├── libcedarx │ │ └── lib │ │ ├── libcdx_base.la │ │ ├── libcdx_base.so │ │ ├── libcdx_common.la │ │ ├── libcdx_common.so │ │ ├── libcdx_parser.la │ │ ├── libcdx_parser.so │ │ ├── libcdx_stream.la │ │ └── libcdx_stream.so │ ├── tmetadataretriever │ │ └── libtmetadataretriever.so │ ├── tplayer │ │ └── libtplayer.so │ └── trecorder │ └── libtrecorder.so ├── User │ ├── tpmanager.cpp │ └── tpmanager.h ├── videoDemo.pro └── videoDemo.pro.user文件结构树部分就是整个demo项目的结构,我是将
package->allwinner->tina_multimedia的部分内容拷贝到项目中,其中User文件夹是参考tplayerdemo.c的CallbackForTPlayer写的。最后
mainwindow.cpp写的内容是MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); TPlayer* tplayer = TPlayerCreate(CEDARX_PLAYER); TPlayerSetNotifyCallback(tplayer,myCallback,NULL); if(TPlayerSetDataSource(tplayer,"http://192.168.0.123:9999/explorer?path=upload%2F2025-03%2F4.mp4",NULL) != 0) { printf("TPlayerSetDataSource() return fail.\n"); } else { printf("TPlayerSetDataSource() end\n"); } if(TPlayerPrepare(tplayer)!= 0) { printf("TPlayerPrepare return fail.\n"); }else{ printf("TPlayerPrepare end\n"); } if(TPlayerStart(tplayer) != 0) { printf("TPlayerStart() return fail.\n"); }else{ printf("started.\n"); } qInfo() << "video is create now" ; } //最简单的一个tplayer播放流程总结,折腾几天,发现tplayer没有提供视频数据帧的方法,想着能通过tplayer来实现在qt中播放视频,但是源码是开源的,应该能实现在qt中播放,我不会改。如果我说的有什么错误或者不妥之处,还请大佬指正。
-
回复: 请问下,T113-S3TinaLinux,如何新增文件到根文件系统中发布在 其它全志芯片讨论区
方法可行!我的是QT应用,要看准日志中输出的
Package busybox-init-base-files is missing dependencies for the following libraries:后提示缺少的依赖库,我第一次填写好了依赖库,第二次编译还是不过,仔细一看,又是输出了一次Package busybox-init-base-files is missing dependencies for the following libraries:缺少依赖库。echo添加进去,编译通过! -
回复: Yuzukilizard V851S autostart settings发布在 V Series
@sergpenshin
Rename my_example to S99my_example, then run /etc/init.d/S99my_example enable, and try rebooting重命名 my_example 为 S99my_example
/etc/init.d/S99my_example enable
然后reboot重启试试 -
/etc/init.d/中配置自启动,自启动报错缺少动态库,终端执行却没问题发布在 T Series

终端手动执行没问题
自启动执行报错
这里开始执行我的自启动脚本
这是我的自启动脚本,这里延时10s、20s、1,m都无法启动我的应用请教一下我是哪里写的不对?如何修改?
-
回复: T113-S3芯片,XR829wifi蓝牙模块如何在QT中进行蓝牙开发发布在 GUI
【已解决】
步骤一

先将btmanager整个复制到项目中
步骤二

在项目中新建out_lib和out2_lib目录
然后将这段复制到pro文件里最下边(截图的不完整,用下面的代码)LIB_PATH = $$PWD/btmanager/out_lib LIB_PATH2 = $$PWD/btmanager/out2_lib unix:!macx: LIBS += -L$$LIB_PATH2 -lpcre -lffi ## 在 Unix 系统(非 macOS)下添加库 unix:!macx { LIBS += -L$$LIB_PATH -lbluetooth -lglib-2.0 -lsbc -ljson-c -lz -lgmodule-2.0 -lgio-2.0 -lgobject-2.0 -lasound -lbtmg -ldl -lm -lresolv LIBS += -lshared-mainloop -lbluetooth-internal -lshared-glib } INCLUDEPATH += $$PWD/btmanager/include DEPENDPATH += $$PWD/btmanager/include步骤三
在你的sdk下找到类似这个路径
Tina-SDK/out/t113-bingpi_m2/staging_dir/target/usr/lib下的所有文件复制到项目下的out_lib中,再找到类似这个路径Tina-SDK/out/t113-bingpi_m2/staging_dir/target/rootfs/lib下的所有文件复制到项目下的out2_lib中(out文件夹是要进行一次make && moob && pack后编译生成所产生的)
编译执行,就不会缺少依赖了##总结
其实我这个是笨方法,就是缺少啥依赖就将生成的so文件放进去,实际上用到的就是这些-lbluetooth -lglib-2.0 -lsbc -ljson-c -lz -lgmodule-2.0 -lgio-2.0 -lgobject-2.0 -lasound -lbtmg -ldl -lm -lresolv -lshared-mainloop -lbluetooth-internal -lshared-glib,这些库的意思就是去掉lib和so前缀和后缀的,比如-lbluetooth就是libbluetooth.so、-lglib-2.0就是libglib-2.0.so。这里是参考btmanager里面demo里的Makefile文件写的,-lbtmg引入的顺序必须与写的顺序一致,不然会提示缺少依赖,需要写好-lbtmg所需要的依赖后再引入。 -
T113-S3芯片,XR829wifi蓝牙模块如何在QT中进行蓝牙开发发布在 GUI



配置了tinaSDK的环境,根据《Tina_Linux_蓝牙_开发指南.pdf》这篇文档提供的代码位置,找到了so文件,并引入。会报错,请教一下如何正确使用这个so文件?



