麒麟系统编译OSG、OSGEarth记


前言

踩过深坑,走过断桥。


一、代码准备

下载OSG、OSGEarth源码以及所需的第三方依赖库。

中标麒麟编译顺序:
autoconf-latest.tar.gz
automake-1.16.tar.gz
CMake-3.16.4.tar(版本可自选)
jpegsrc.v8.tar.gz
libpng-1.6.37.tar.xz
tiff-4.0.8.zip
giflib-5.2.1.tar.gz
proj-4.9.3.tar.gz
geos-3.5.2.tar.bz2
minizip-master.zip
sqlite-autoconf-3320300.tar.gz
SDL2-2.0.12.tar.gz
libtool-2.4.5.tar.gz
googletest-release-1.5.0.zip
protobuf-2.6.1-artifacts.zip
gdal221.zip
QT5.9.6
OpenSceneGraph-OpenSceneGraph-3.4.0.zip
osgearth-2.8.zip

银河麒麟编译顺序:
autoconf-latest.tar.gz
automake-1.16.tar.gz
CMake-3.16.4.tar(版本可自选)
openssl-1.1.1g.tar.gz
curl-7.60.0.tar.gz
jpegsrc.v8.tar.gz
libpng-1.6.37.tar.xz
tiff-4.0.8.zip
giflib-5.2.1.tar.gz
proj-4.9.3.tar.gz
geos-3.5.2.tar.bz2
minizip-master.zip
sqlite-autoconf-3320300.tar.gz
SDL2-2.0.12.tar.gz
libtool-2.4.5.tar.gz
googletest-release-1.5.0.zip
protobuf-2.6.1-artifacts.zip
gdal221.zip
QT5.9.6
OpenSceneGraph-OpenSceneGraph-3.4.0.zip
osgearth-2.8.zip

二、代码编译

解压缩源代码,进入源代码文件,编译方法:
(1)./configure 或 ./config配置命令生成Makefile文件,如果源码文件存在CmakeList.txt文件,则cmake生成Makefile文件,如果源码文件中存在Makefile文件,可以跳过第一步;
(2)make命令进行代码编译,make -j number(cpu核数)加快编译速度;
(3)sudo make install生成引用库。

注意事项

(1)中标麒麟自带Cmake版本较低,功能陈旧,卸载中标麒麟自带Cmake,终端输入sudo yum autoremove cmake -y卸载。
(2)sqlite-autoconf编译之前,在源码sqlite.c中加入宏代码:
#define SQLITE_ENABLE_COLUMN_METADATA 1
这个设置在后续编译GDAL时候才不会出现这个错误libgdal.so: undefined reference to `sqlite3_column_origin_name’;
(3)protobuf编译之前,解压googletest-release-1.5.0.zip文件后,重命名为gtest,放入protobuf源码文件中,执行中autogen.sh脚本,方能成功编译;
(4)编译OSG之前,OSG应用GDAL库,需要把GDAL的头文件放入/usr/local/include文件夹中;
(5)OSG编译时候,在Cmakelist.txt文件中第707行加入Qt版本和Qt5Widgets的路径,即:
SET(DESIRED_QT_VERSION 5)
SET(Qt5Widgets_DIR Qt5Widgets的安装路径(eg:/home/…/Qt5.9.6/5.9.6/gcc_64/lib/cmake/Qt5Widgets));
(6)OSGEarth编译时候,在CmakeList.txt文件中注释掉160行至165行中关于Qt4的配置代码;
(7)编译过程中,每编译完成一个第三方依赖库,使用sudo ldconfig更新引用文件。


总结

快乐的秃头程序码农。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值