麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/133943583

红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

国产麒麟系统相关开发

上一篇:《麒麟系统开发笔记(十二):在国产麒麟系统上编译GDAL库、搭建基础开发环境和基础Demo》
下一篇:敬请期待…


前言

  在国产麒麟系统上实现C++三维仿真,使用OSG技术,其他基于web的技术也是可以但是交互上鼠标拽托等交互相对差一些,所以这块需要斟酌选择到底是何种技术来取舍。
  本篇在厂家指定的麒麟系统上编译OSG。


环境

  • 系统版本:银河麒麟桌面操作系统V10(SP1)(注意:不对外提供)
  • Gcc版本:gcc (Ubuntu 9.3.0-10kylin2) 9.3.0
  • Qt版本:qt5.12.8
  • OSG版本:osg3.4.0
  • Cmake版本:cmake3.16.3

安装Qt

  Qt是基于Qt5.12.8版本的,自行下载linux安装linux版本,参照《麒麟系统开发笔记(二):国产麒麟系统搭建Qt开发环境安装Qt5.12》


OSG开发系列博客

  OSG、OSGEARTH三维开发专栏
  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第1张图片


说明

  osgQt和移植osgQt过来都是通过QGLWidget渲染,Qt在5.5及以后推荐使用QOpenGLWidget窗口替代QGLWidget,在应用层最大的区别就是在QGLWidget上放置控件是无法半透明的,而在QOpenGLWidget上放置控件是可以透明的。
  当然,使用QOpenGLWidget实现,需要自行研究,之前是研究过一边并且实现了,研究差不多一周才终于实现基础Demo。
  具体这部分代码在博文《OSG开发笔记(二十三):Qt使用QOpenGLWidget渲染OSG和地球仪》
  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第2张图片
  右下的控件实际上是Qt的控件,这样开发可以节省一些hud控件开发,提高效率。


OSG编译

步骤一:准备源码

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第3张图片
osg3.4.0:https://download.csdn.net/download/qq21497936/11259525
   麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第4张图片

  因为之前做过osg深入 开发,这些用到的库都已经有了,在此输出下载网站,自行下载:
  freetType2 官网地址:https://www.freetype.org/download.html
  jpeg官网地址:http://www.ijg.org
  zlib官网地址:http://www.zlib.net
  png官网地址:https://libpng.sourceforge.io
  tiff官网地址:http://download.osgeo.org/libtiff
  openjpeg2官网地址:http://www.openjpeg.org
  curl官网地址:https://curl.haxx.se/download.html
  lcms官网地址:https://sourceforge.net/projects/lcms/files/latest/download

步骤二:安装cmake和cmake-gui

  自带了cmake,确认cmake版本:
  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第5张图片

  安装cmake-gui

sudo make install cmake-gui

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第6张图片

  运行:

cmake-gui

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第7张图片

步骤三:使用cmake配置目标工程

  先解压osg,然后打开cmake的界面:

cmake-gui

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第8张图片

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第9张图片

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第10张图片

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第11张图片

  是没有找到opengl,笔者这个麒麟版本特殊,无法在线安装,联系厂家更新安装的方式:

cd /etc/apt
sudo cp sources.list sources.list.bak
sudo vi sources.list

  修改:

deb http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-hwe   main

  在这里插入图片描述

sudo apt-get update
sudo apt-get install libgl1-mesa-dev

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第12张图片

  安装完opengl后,在cmake-gui的配置,配置成功:
  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第13张图片

  (PS1:那些额外的库,都需要编译然后添加进cmake环境变量,此处先不管,优先编译去osg,能跑,库实在太多)
  修改安装路径,避免直接安装到系统):
  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第14张图片

步骤四:生成工程

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第15张图片

步骤五:终端编译

  打开终端,切换至build目录:

cd /home/yang/work/src/OpenSceneGraph-OpenSceneGraph-3.4.0/build-kylinV10

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第16张图片

  开始make:

make -j8

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第17张图片

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第18张图片

  在来一次make,确认每个线程都过了。

步骤六:安装

  安装到我们之前设置的路径,这样可以完整的提取头文件和库

make install

  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第19张图片

  至此编译好了。


迁移之前的三维文字查看工具

  《项目实战:Qt+OSG三维2D文字实时效果查看工具》
  麒麟系统开发笔记(十三):在国产麒麟系统上编译OSG库、搭建基础开发环境和移植测试Demo_第20张图片
  (PS:没有显示汉字是因为没有打字体库进去)。


上一篇:《麒麟系统开发笔记(十二):在国产麒麟系统上编译GDAL库、搭建基础开发环境和基础Demo》
下一篇:敬请期待…


若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/133943583

你可能感兴趣的:(Qt开发,国产麒麟统信系统开发,osg三维开发2,Qt,麒麟系统,三维仿真,OSG,国产仿真)