概述
概述
- 第一篇博客完成了初期cmake工程的搭建,但移植到麒麟(linux+arm64)环境下仍然存在很多问题,由于项目需要在离线环境下实现全部编译、安装、开发工作,而麒麟环境简直是坑中之坑,有的没的问题遇到了一大堆,因此本博客对安装的整个流程进行总结,如果能帮到别人将不胜荣幸。
- 本博客全部安装方式都是“源码编译”+“安装”方式,这是由本项目离线开发的特殊环境决定的,如果你的linux环境可以直接apt-install,那就无须进行如此繁琐的步骤,可以关掉本博客了。
- 注意,本篇博客可以结合第三篇博客共同阅读,第三篇博客专门总结安装过程中的一些深坑问题。
1. CMake编译安装
Cmake按照项目需求安装对应版本,这里注意要对照项目库的需要安装版本,否则可能出现问题。CMake的安装需要bison、flex两个前置依赖。
安装bison
bison源码下载地址:
http://mirrors.ustc.edu.cn/gnu/bison/
tar -zxvf bison-3.5.tar.gz
cd bison-3.x
./configure
make
make install
这里可以看出linux环境下安装配置依赖库的通用步骤,总结如下:
1. tar -zxvf xxx.tar.gz
- 这一步完成了对源码压缩包的解压,
- -x: 从压缩的文件中提取文件,-z: 支持gzip解压文件,-v: 显示操作过程;
- 如果要打包,则是 -cf即可;
2. ./configure --prefix=/yourPath/build
- 对于下载的源码,一般来说有两种形式:如果包含“Configure”文件,则通过命令行执行“./configure”命令,配置相关内容;如果包含的是“CMakeLists.txt”文件,则通过CMake完成相关配置工作(当然,我们现在还没装CMake呢~);
- “–prefix”指定了后续编译安装时的存放目录,一般来说在源码目录下新建build文件夹用于存放,后续将lib库等内容拷贝在需要位置即可;
make && sudo make install - 这一步是常规的编译安装步骤了,之后会大量接触。
安装flex
flex源码下载地址:
https://github.com/westes/flex/
安装方式同上,如果有依赖缺失的报错,则查找相应依赖库安装即可。
安装CMake和CMake-Gui
CMake源码下载地址:
https://cmake.org/
一般来说,CMake依赖的C和C++编译器环境应该是系统本身就有的,在/usr/bin目录下可以查找到。如果没有的话,则按照需要下载安装即可。
# 解压
tar -zxvf cmake-3.25.1.tar.gz
cd cmake-3.25.1
# 编译
./configure --qt-gui
make -j4
sudo make install
- make -j4 是根据你的CPU内核数设置的,同时编译可以提高CPU使用效率。
- –qt-gui表示同时安装Gui,建议添加Gui界面,安装好后可以在bin目录下找到gui可执行程序。
Qt源码编译安装
第二步是在Linux环境下安装Qt,笔者项目需要的是5.12.8版本,下面以此为例,介绍步骤:
qt-5.12.8源码下载地址:
https://download.qt.io/archive/qt/5.12/5.12.8/
由于第一步已经安装了flex和bison的依赖,这里不需要再安装了,如果第一步没有安装成功,qt编译时可能会出现报错。
安装流程和之前一样,需要注意几点:
- make和make install的时间都很久,特别是make,需要耐心等待;
- 需要注意,在配置时千万不要配置成静态库(.a)编译安装,除非你的项目确实需要链接.a库。这是因为静态库在项目开发过程中,比起.so需要链接更多的额外库,导致很多不可预知的报错。例如DSO相关的报错。
- 安装完成后,需要配置环境变量,流程是:
# 解压
export QTDIR=/opt/qt-5.12.8
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
source /etc/profile
一般来说,QT的相关目录是放在/opt/下的,这里按照你的安装目录配置即可。
- 查看安装情况和修改Qt默认版本号
qmake --version
上述命令可以查看Qt版本号。
qtchooser -l
上述命令可以查看已有Qt版本。
qtchooser -install qt5.12.8 /opt/Qt5.12.8/bin/qmake
export QT_SELECT = qt5.12.8 //这里设置上一步你起的名字
完成后,再输入qtchooser -l,可以查看是否已经安装成了你安装的版本。
安装OSG
关于OSG的安装方法,可以参考Osgearth官方中文论坛“恒歌科技”,链接如下:
https://www.henggetec.com/?mod=news_detail&id=32
编译OSG流程如下:
- 使用cmake打开OSG源码下的CMakeLists.txt并选择构建路径;
- 使用cmake配置OSG编译环境,检查配置curl、freetype、gdal、jpeg、png、tiff、zlib和配置QT项;
- OSG环境配置成功后执行Configure和Generate;
- 终端进入OSG构建目录下执行:$make –j8;
- 编译成功后执行安装命令:$sudo make install;
- 使用root用户权限将动态链接库加载到内存;
#touch/etc/ld.so.conf.d/mylib.conf #echo"/usr/local/lib64">>/etc/ld.so.conf.d/mylib.conf
#echo “/usr/local/lib” >> /etc/ld.so.conf.d/mylib.conf
#ldconfig- 测试OSG:$osgversion。
注意要点:
- 严格按照官方中文网站提供的安装流程安装依赖库,安装顺序也尽量保持一致,这样可以节省大量时间、避免不必要的报错。否则一定会走很多弯路!相信我!
- 相关依赖库的源码下载链接如下,这里做了完整整理,造福大众,源码具备跨平台、跨版本特性,因此避免所有因为版本不对导致的不必要报错。
编译Osgearth
同理按照上一步链接的教程安装Osgearth,这里要注意:
- 利用Cmake-Gui打开CmakeLists.txt,需要将各种依赖库路径,例如OSG、QT、OpenGL等,指定为先前安装的路径。
- 成功后运行
osgearth_viewer /yourPath/feature_geom.earth
如果能成功看到地球文件,则编译成功。
总结
麒麟环境下对Osgearth的配置是比较繁琐、耗时的,编译过程中可能会遇到各种奇奇怪怪的问题。下一篇博客将专门总结安装过程中的各种error,避免踩坑、节省大家时间。
最后
以上就是风趣发卡为你收集整理的【从零搭建Osgearth】02. 麒麟v4.x(linux+arm64架构)编译安装Cmake+Qt5.12.8+Osg+Osgearth概述1. CMake编译安装Qt源码编译安装安装OSG编译Osgearth总结的全部内容,希望文章能够帮你解决【从零搭建Osgearth】02. 麒麟v4.x(linux+arm64架构)编译安装Cmake+Qt5.12.8+Osg+Osgearth概述1. CMake编译安装Qt源码编译安装安装OSG编译Osgearth总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复