环境:
1. Windows安装sdp6.5.0
下载qnxsdp-6.5.0-x86-201007091524-win32.exe
安装完成后QNX Momentics IDE用于开发
2. Qnx虚拟环境
vmware虚拟机+qnxsdp-6.5.0-x86-201007091524-nto.iso
可以参考YouTube上的视频安装
也可以下载安装好的虚拟机镜像,但是rom大小不能修改,虚拟机镜像下载:QNX_Eval_RT-201007091524.zip
3. 调试工程
参考网页,十步搭建开发环境
4. Qt 4.7.1 集成,方便开发2D应用(不支持QOpengl控件)
① 配置qnx支持qt,文件在qt on qnx
./qnx-configure x86 目前默认支持-opengl es2, 修改苇-opengl es1 需要修改qtgui qtopengl
Qtopengvg的pro 文件在增加QT_GLES_EGL,可以编译成功,替换相关的库文件到qnx系统中的usr/lib文件成为运行的依赖库。编译的依赖库可以放到qnx650目录下,使用pro文件或者Makefile文件可以控制编译链接时候依赖的库
② 在qnx中编译在windows测运行好的qt工程
qnx工程结构
project
-- *.proto
-- *.h
-- *.cpp
-- moc_*.h
-- moc_*.cpp
1:qnx内工程 top-level建立一个简单的proto文件,保留原proto文件的源文件头文件和宏定义
######################################################################
# Automatically generated by qmake (2.01a) Thu May 19 09:01:20 2011
######################################################################
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
HEADERS += easyData.h mainwidget.h
SOURCES += easyData.cpp main.cpp mainwidget.cpp
2:使用Qt工程调试成功,将moc的文件放到qnx工程
3:#/usr/bin/qmake -o Makefile
4: #make clean; make;
(注:可能存在头文件和库文件链接不到问题,添加 /usr/qnx650/target/qnx6/x86/usr/lib/qt4 下的头文件和库文件包含路径)
5:在文本显示模式下执行 #./
6:这个版本qt不支持opengl相关
5. 图形绘制(opengles 指支持1.0 固定管线绘制)
fg绘制,photon绘制,opengl绘公用的官方demo
gf_gl_pg_demo.tgz
FFmpeg支持
Linux 跨平台编译FFmpeg(当前版本4.2.1)
1:参考这个网站 下载4.2.1版本源码
2:编译命令
./configure --enable-shared --disable-asm --prefix=qnx-ffmpeg --target-os=qnx --arch=x86 --cc=ntox86-gcc --enable-cross-compile --disable-pthreads --disable-asm --disable-static --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-avdevice --disable-doc --disable-symver
其中--prefix=qnx-ffmpeg make install的时候会安装so到这个路径
--cc 需要使用qnx的qcc编译链工具
--disable-pthread qnx当前不支持pthread所以禁用
3:qnx中使用库,需要把lib中的so拷贝到 /usr/lib下一份作为运行时库
然后编译链接的路径需要拷贝一份。
4:该版本在使用时候遇到template with c linkage时候可以先include
5:使用github的开源代码VideoPlayer
6:todo 引入sdl库方便后续开发