中标麒麟编译qgis源码+PyQt环境
中标麒麟编译qgis源码
根据公司工作安排需要在中标麒麟下编译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
编译过程中使用到的linux命令
1.查看Linux位数:getconf LONG_BIT 2.删除文件夹rm –rf3.安装run文件./xxxxx.run4.进行镜像文件挂载:cd /home/softmount -o loop CentOS-6.5-x86_64-bin-DVD1.iso /mnt 5.删除自带的yum源cd /etc/yum.repos.d/rm -rf *6.创建新的yum源配置文件并添加配置信息:vim centos6.repo7.进行验证yum源配置成功:清除缓存yum源yum clean all查看已配置好的yum源信息“yum repolist8重启网卡service network restart9.解压zip文件Unzip 文件10 解压bz2tar jxvf 11.解压xztar xvf +文件名(tar.xz) 12 yum查询数据包rpm -qa|grep13.强制删除rpm -e –nodeps14列出所有安装包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.xztar -xf linux-3.12.tar方法二(推荐)tar -Jxf linux-3.12.tar.xz17 删除文件rm -f /var/run/yum.pid18 创建软连接 ln -s 源文件 目标文件
所需的构建工具:
- CMake> = 3.0.0
- Flex> = 2.5.6
- Bison> = 2.4
- Python 3
所需的构建依赖项:
- Qt >= 5.9.0
- Proj >= 4.9.3
- GEOS >= 3.4
- Sqlite3 >= 3.0.0
- SpatiaLite >= 4.2.0
- libspatialindex
- GDAL/OGR >= 2.1
- Qwt >= 5.0 & (< 6.1 with internal QwtPolar)
- expat >= 1.95
- QScintilla2
- QCA
- qtkeychain (>= 0.5)
- libzip
构建工具和依赖库下载地址
1.cmake
下载地址: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/
2.bison
下载地址: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
3.flex
下载地址:https://linux.softpedia.com/get/Programming/Interpreters/?utm_source=spd&utm_campaign=postdl_redir
4.proj
下载地址:https://proj.org/download.html
5.GEOS
下载地址 :https://trac.osgeo.org/geos/wiki
6.Sqlite3
优先检测系统中是否已安装sqlit,如果没有安装则自己再装的sqlit3,如果重复安装在编译过程中会出现问题。
下载地址:https://sqlite.org/download.html
7. Gdal
下载地址:http://download.osgeo.org/gdal/
8.qwt
下载地址:https://sourceforge.net/projects/qwt/files/qwt/
cd qwt
qmake 生成 makefile
make && make install
9.安装qt
我使用的qt是qt5.11.2
下载地址:http://download.qt.io/archive/qt/
安装配置:./xxxxx.run;
需要配置qmake环境。
10.安装pg Gem时找不到libpq-fe.h头文件***
对于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
11.安装python (可自己安装,也可以yum下载)
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
11.1安装完成后需要创建软连接
ln -s /usr/local/python37/bin/python3.7 /usr/bin/python37
ln -s /usr/local/python37/bin/pip3.7 /usr/bin/pip37
11.2测试安装的Python是否可用
[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)
12.安装sip (我用的版本是V4.19.14)
下载地址: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)
13.安装PyQt (我用的版本是V4.11.3)
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
14.QScintilla (我用的版本是V2.11)
安装配置:
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
15.spatialite下载地址
http://www.gaia-gis.it/gaia-sins/libspatialite-sources/
编译过程
1.开始编译配置
cd QGIS
mkdir build-master
cd build-master
ccmake ..
进入cmake界面后,按c进行配置检查,按g生成代码。
2.make进行编译
make -j8
make install
3.运行
1)当前目录直接运行
./output/bin/qgis
2)make安装运行
qgis
QQ交流群
中标麒麟编译qgis源码+PyQt环境相关推荐
- idea 编译spring_Spring 源码阅读环境的搭建
" 前言 本文记录了 Spring 源码环境的搭建方式,以及踩过的那些坑!当前版本:5.3.2-SNAPSHOT. 环境准备 Git JDK master 分支需要 JDK 11 5.2. ...
- CMake编译Nginx源码
背景 最近打算学习nginx源码,但使用clion IDE查看不支持跳转.因为源码是使用autotool维护的,而clion需要CMake管理项目.着手编译nginx源码. 环境 os : ubunt ...
- QGIS源码编译步骤详解——官方新方案
目录 源码下载 环境下载 Cygwin64 OSGeo4W CMAKE Visual Studio 2017 环境配置 配置 编译 方案详细可见源码文件中INSTALL.md. 源码下载 QG ...
- linux qgis源码编译,ubuntu安装QGIS(一)
QGIS项目简介 QGIS是一个用户界面友好的桌面地理信息系统,可运行在Linux.Unix.Mac OSX和Windows等平台之上.QGIS是基于Qt,使用C++开发的一个用户界面友好.跨平台的开 ...
- 记一次失败的Windows环境编译Nginx源码
最近想学习下nginx的源码,之前在linux环境编译安装过多次,在windows环境还是第一次尝试,遇到了不少问题,记录一下.可惜的是编译成功后,在最后运行的时候还是会报错,如果有人遇到类似的问题希 ...
- 在Linux环境下怎么编译Android源码?
http://www.linuxidc.com/Linux/2011-10/44236.htm JDK的安装: Linux Mint 13 中自带有OpenJDK,但这个不是我想要的,我们要的是sun ...
- spring源码编译之gradle环境搭建(编译spring源码真的脑阔疼)
官网 Gradle | Installation Gradle Distributions 下载 配置环境变量: GRADLE_HOME:D:\software\gradle-6.0.1-all\gr ...
- v58.03 鸿蒙内核源码分析(环境脚本) | 编译鸿蒙原来很简单 | 百篇博客分析HarmonyOS源码
颜渊问仁.子曰:"克己复礼为仁.一日克己复礼,天下归仁焉.为仁由己,而由人乎哉?"颜渊曰:"请问其目."子曰:"非礼勿视,非礼勿听,非礼勿言,非礼勿动 ...
- Ubuntu18.04系统编译android源码环境配置
1. 前言 我们做andorid系统开发,肯定时刻与源码打交到,特别是做新项目时,最重要的事情就是下载源码,然后配置环境编译,假如你的电脑是刚重装系统过,一个全新的开发环境,那么首要解决的事情就是完善 ...
最新文章
- 给表增加字段 本地测试正常 上传到服务器不正常
- html模板编辑器,可视化编辑网站模板
- django 快速实现完整登录系统(cookie)
- 指向结构体的指针别名
- centos7修改主机名_25个步骤完成centos7系统从0到1部署
- 常用Apache Commons工具类备忘
- c#连接远程sqlserver2008_C#用代码控制网络断开与重连
- 大咖分享 | 产品经理如何成长进阶?
- 《集体智慧编程》数学公式
- python学习day33 hmac模块 socketserver模块
- python语义网络图_知识图谱之语义网络篇
- 计算机关机键是,电脑关机快捷键是什么
- 基于华为云轻松搭建属于自己的网站 (Linux,Apache,MySQL,PHP)
- android4.4.3版本root,EMUI3.0 Android4.4.4以下完美ROOT教程
- VBA快速转换数据格式,将CBOT结算价历史数据导入数据库(图文)
- 使用hibernate的@SQLDelete和@Where注解实现逻辑删除
- java数字大小排序_怎么用java给数字排大小?
- 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
- 手写Spring DI依赖注入,嘿,你的益达!
- 奥维地图数据格式_如何批量将文本格式的经纬度数据导入到奥维成为标签