赞
踩
根据公司工作安排需要在中标麒麟下编译qgis3.4.7,把编译的过程随手记录一下。
QGIS项目主页:http://www.qgis.org/en/site/
QGIS源码下载:添加链接描述https://github.com/qgis/QGIS/tree/release
QGIS官方编译参考文档:https://github.com/qgis/QGIS/blob/master/INSTALL?tdsourcetag=s_pcqq_aiomsg
cmake基础知识:https://blog.csdn.net/m0_37554445/article/details/104974552
将windows环境下vs项目移植到中标麒麟环境qt:https://blog.csdn.net/m0_37554445/article/details/104970695
1.查看Linux位数:
getconf LONG_BIT
2.删除文件夹
rm –rf
3.安装run文件
./xxxxx.run
4.进行镜像文件挂载:
cd /home/soft
mount -o loop CentOS-6.5-x86_64-bin-DVD1.iso /mnt
5.删除自带的yum源
cd /etc/yum.repos.d/
rm -rf *
6.创建新的yum源配置文件并添加配置信息:
vim centos6.repo
7.进行验证yum源配置成功:
清除缓存yum源
yum clean all
查看已配置好的yum源信息“
yum repolist
8重启网卡
service network restart
9.解压zip文件
Unzip 文件
10 解压bz2
tar jxvf
11.解压xz
tar xvf +文件名(tar.xz)
12 yum查询数据包
rpm -qa|grep
13.强制删除
rpm -e –nodeps
14列出所有安装包
yum list后,有的会是红色,有的是绿色,红色代表有最新版,需要更新,绿色代表已经是最新版本,没有颜色的代表没有装的
15.列出所有已安装的软件包
yum list installed
16解压 xz 格式文件
方法一:
需要用到两步命令,首先利用 xz-utils 的 xz 命令将 linux-3.12.tar.xz 解压为 linux-3.12.tar,其次用 tar 命令将 linux-3.12.tar 完全解压。
xz -d linux-3.12.tar.xz
tar -xf linux-3.12.tar
方法二(推荐)
tar -Jxf linux-3.12.tar.xz
17 删除文件
rm -f /var/run/yum.pid
18 创建软连接
ln -s 源文件 目标文件
所需的构建工具:
所需的构建依赖项:
下载地址:https://cmake.org/files/
安装配置:
mv cmake-3.12.2-Linux-x86_64 /opt/cmake-3.12.2
ln -sf /opt/cmake-3.12.2/bin/* /usr/bin/
下载地址:ftp://prep.ai.mit.edu/pub/gnu/bison/bison-2.3.tar.gz
安装配置:
tar -xzvf bison-2.3.tar.gz //解压缩
cd bison-2.3 //移动到解压后的文件夹
./configure
make
make install
下载地址:https://linux.softpedia.com/get/Programming/Interpreters/?utm_source=spd&utm_campaign=postdl_redir
下载地址:https://proj.org/download.html
下载地址 :https://trac.osgeo.org/geos/wiki
优先检测系统中是否已安装sqlit,如果没有安装则自己再装的sqlit3,如果重复安装在编译过程中会出现问题。
下载地址:https://sqlite.org/download.html
下载地址:http://download.osgeo.org/gdal/
下载地址:https://sourceforge.net/projects/qwt/files/qwt/
cd qwt
qmake 生成 makefile
make && make install
我使用的qt是qt5.11.2
下载地址:http://download.qt.io/archive/qt/
安装配置:./xxxxx.run;
需要配置qmake环境。
对于Ubuntu系统:
sudo apt-get install libpq-dev
在Red Hat Linux(RHEL)系统上:
yum install postgresql-devel
对于Mac Homebrew:
brew install postgresql
对于Mac MacPorts PostgreSQL:
gem install pg -- --with-pg-config=/opt/local/lib/postgresql[version number]/bin/pg_config
对于OpenSuse:
zypper in postgresql-devel
tar -zxvf Python-3.7.0.tgz
mkdir /usr/local/Python37
cd Python-3.7.0
./configure --prefix=/usr/local/python37 //配置
make && make install //编译并且安装
安装时报错ModuleNotFoundError: No module named '_ctypes’的解决办法:
yum install libffi-devel
ln -s /usr/local/python37/bin/python3.7 /usr/bin/python37
ln -s /usr/local/python37/bin/pip3.7 /usr/bin/pip37
[root@mini Python-3.7.0]# python3
Python 3.7.0 (default, Jul 28 2018, 22:47:29)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello world!")
hello world!
>>> exit()
[root@mini Python-3.7.0]# pip3 --version //如果还没有安装,会出现提示如何安装的命令
pip 10.0.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
下载地址:https://riverbankcomputing.com/software/sip/download
sip -V检查版本
tar -zxvf sip-4.19.8.tar.gz
python3 configure.py --sip-module PyQt5.sip //必须添加这个,否则运行 import PyQt5.Core 会异常
sudo make -j8(或者你电脑的核心数)
sudo make install
安装完成后,可分别在终端和Python中查验sip版本是否一致
#终端查看sip版本
sip -V
#查看Python调用的sip版本(通过上述编译安装操作得到的)
python
import sip
print(sip.SIP_VERSION_STR)
tar zxvf PyQt-gpl-5.3.2.tar.gz
cd PyQt-gpl-5.11.2/
python configure.py –qmake /opt/Qt5.11.1/5.3/gcc_64/bin/qmake –sip-incdir ../sip-4.19.4/siplib //也可以将qmke文件复制
到,/usr/bin/目录下,就不用添加-qmake
make -j4 //建议添加-j 要不然编译会很久
sudo make install
可设置创建软连接:
sudo ln -s /usr/lib/python3.4/site-packages/PyQt5 /usr/lib/python3.4/PyQt5
安装配置:
tar -zxvf QScintilla_gpl-2.11.tar.gz
cd QScintilla_gpl-2.11/
cd ./Qt4Qt5
qmake qscintilla.pro
make
make install
.....
cd ../Python
python configure.py
make
sudo make install
http://www.gaia-gis.it/gaia-sins/libspatialite-sources/
cd QGIS
mkdir build-master
cd build-master
ccmake ..
进入cmake界面后,按c进行配置检查,按g生成代码。
make -j8
make install
1)当前目录直接运行
./output/bin/qgis
2)make安装运行
qgis
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。