仅供参考,部分配置等细节因记录匆忙,可能有出入。
系统配置:麒麟4.x, 64位,CPU FT arm架构,显卡AMD
1、拷贝osg,oe源码、data文件
2、下载cmake源码,./configure --qt-gui 编译, 运行cmake-gui;
3、编译依赖库,版本参考windows cmake工程界面显示, 顺序版本为
zlib 1.2.8
png 1.6.21
curl 7.30
freetype ./configure CFLGAS=-fPIC
proj4 geos gdal
jpeg 要选择unix版本的
ffmpeg ./configure --extra-cflags=-fPIC,解决和osg链接的冲突
4、 修改osg的cmakelists.txt,添加C++ 11支持,添加位置在CMAKE_MINIMUM_REQUIRED下面,然后make -j4、sudo make install 生成osg文件;
5、添加lib目录到 /etc/ld.so.config
6、sqlite3
7、osgearth cmake界面取消勾选 fastdxt,不然编译会报一堆错
8、 添加下面命令到~/.bashrc
export MESA_GL_VERSION_OVERRIDE=3.3
osgearth_viewer clouds.earth运行不了时 export MESA_GL_VERSION_OVERRIDE=3.3
9、qt 下载5.9.2的源码,编译
编译配置:./../qt-everywhere-opensource-src-5.9.2/configure -system-freetype -fontconfig -opengl desktop -prefix /usr/local/lib/Qt5.9.2
-system-freetype -fontconfig 显示中文需要
-opengl=desktop 指定使用桌面版本opengl,不然编出来qt用的是gles,无法使用。
10、osgQt
cmake界面上qt相关目录填写上面编译的对应目录,不然编译出来的不对;
目前正常运行需要通过终端运行,并且首先要在终端运行如下命令:
export MESA_GL_VERSION_OVERRIDE=3.3
不然会出现大量错误,如:
error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, 3.00 ES, 3.10 ES, and 3.20 ES