【无标题】

银河麒麟V10_SP1安装构建指导

一、安装前的准备工作

首先电脑中应准备一个磁盘内存不小于200G的空盘;
然后再准备好VMware Workstation Pro16.0(下文简称为VM)运行程序和Kylin-Desktop-V10-SP1-RC1-Build01-210326-x86_64.iso安装文件;

二、 创建新的虚拟机

打开VM程序,点击如图示中的“创建新的虚拟机”,选择“典型(推荐)(T)”,再点击“下一步”;

选择“稍后安装操作系统(S)”,再点击“下一步”;

选择“Linux(L)”,版本选择“Ubuntu64位”,再点击下一步;
备注:因为银河麒麟V10_SP1是基于乌班图二次开发,所以这里我们选择Ubuntu64位;

将虚拟机命名为:Kylin,然后将存储位置选择为开始时准备的空磁盘(≥50G),然后点击下一步;必须大于等于50G,否则安装不成功!

按如图所示进行设置,因为作者最开始时预留的是一个60G大小的磁盘,所以将最大磁盘大小设置为59.9,用户在搭建环境时,可根据自己电脑内存的实际情况进行磁盘分配,只要大于或等于50G即可;

最后确认设置,点击“完成”;

三、 进行虚拟机配置

  1. 点击“编辑虚拟机设置”;

  2. 我们把虚拟机的内存设置为4096MB,其目的是防止后期运行时系统出现卡顿;

  3. 将处理器数量和每个处理器的内核数都设置为2;

  4. 点击“CD/DVD(SATA)”,选择“使用ISO映像文件”,然后我们进入开始时,存放有Kylin-Desktop-V10-SP1-RC1-Build01-210326-x86_64.iso文件的文件夹,选中后,再点击“打开”;

  5. 最后点击下面的“确定”按钮;

  6. 然后我们再点击右上角的“开启此虚拟机”;

四、 在VM软件上安装麒麟操作系统

  1. 当我们进入后,按键盘上的PgUp↑和PgDn↓,选择“安装银河麒麟操作系统(I)”;

  2. 选择“中文(简体)”,再点击“下一步”;

  3. 选择时区,默认上海,然后再点击“下一步”;

  4. 请在阅读许可协议这步中,将协议下拉至最下端,否则点击不了下面的‘√’,然后再点击下一步;

  5. 这一步我们将用户名设为‘money’,密码须为英文和数字的组合,且一共不能少于6个字符,然后我们再点击下一步;

  6. 为方便起见,我们这里选择“快速安装”,同时还应选中下面“磁盘”,然后再点击“下一步”;

  7. 勾选“格式化整个磁盘”,再点击“开始安装”;

  8. 等待几分钟后安装完成,现在我们点击“现在重启”;

备注:在我们点击重启后,可能出现桌面鼠标箭头消失的情况,这时我们只需同时按“Ctrl”和“Alt”键即可恢复出箭头;
9) 然后再按“Enter”键,进入虚拟机中的麒麟系统;如果我们发现虚拟机中的系统无网络连接,我们需点击VM软件的“虚拟机”,再选择“网络适配器”,选择“桥接模式”,最后点击“确定”;

五、 麒麟系统预览

  1. 右键“计算机”,选择“属性”,可以查看安装的版本,内核等内容。

六、 在麒麟系统上安装QGis软件

  1. 在我们打开终端后应输入:sudo su,然后会提示输入密码;
    备注:请输入我们在VM上安装麒麟系统时设置的密码,与Win系统不同的是,在终端输入密码时不会有符号提示,所以在输完密码后请直接按“Enter”键确认即可,若密码输入有误,终端会提示再次输入;

  2. 然后我们再输入:cd / ,此命令是让我们进入根目录;

  3. 之后再输入:sudo gedit /etc/apt/sources.list;
    备注:此时若终端提示“sudo gedit:找不到命令”;我们只需重新安装gedit即可,在终端的下一个命令行输入:sudo apt-get install gedit,安装完成后,接着输入上面的“sudo gedit /etc/apt/sources.list”,假如我们在输入上面“sudo apt-get install gedit”命令后提示无法安装,可以先将gedit工具卸载,输入:sudo apt-get remove gedit,然后再输入安装gedit命令进行重新安装。
    以上三步图示如下:

  4. 执行sudo gedit /etc/apt/sources.list 命令之目的是将下载源进行更换,该步骤不是一定要操作的步骤,可跳过该步骤;但更换成“阿里源”后,采用apt-get安装软件会快很多,也可以更换其他合适的源;更换完成后如下图所示,再点击右上角的保存;

具体代码如下:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

deb https://qgis.org/ubuntu-ltr focal main
deb-src https://qgis.org/ubuntu-ltr focal main

  1. 然后我们再在命令行输入:sudo apt update;更新本地的包清单(根据source.list清单产生的缓存,以后去阿里源下载包),注意,如果在执行完本条代码后,出现了图示中的提示;

  2. 出现上述提示是需要我们增加QGIS的GPG公钥,代码如下:
    wget -O - https://qgis.org/downloads/qgis-2021.gpg.key | gpg --import
    输入完成后会出现如下图所示的提示框;

  3. 然后再输入这条代码:gpg --fingerprint 46B5721DBBD2996A;在输入本条代码后,下面应接着显示以下内容:
    pub rsa4096 2021-08-09 [SCEA] [expires: 2022-08-09] 2445 D6B2 54DA C452 A498 989E 46B5 721D BBD2 996A uid [ultimate] QGIS Archive Automatic Signing Key (2021) qgis-developer@lists.osgeo.org,如下图所示:

  4. 然后再从密钥服务器下载密钥,并将密钥添加到apt,在终端输入下面代码执行该操作:
    wget -qO - https://qgis.org/downloads/qgis-2021.gpg.key | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/qgis-archive.gpg –import
    然后再输入:
    sudo chmod a+r /etc/apt/trusted.gpg.d/qgis-archive.gpg
    如下图所示:

  5. 为QGIS添加 QGIS 存储库,在终端输入以下代码:
    sudo add-apt-repository “deb https://qgis.org/ubuntu $(lsb_release -c -s) main”
    注意:这些行中的“lsb_release -c -s”将返回您的发行版名称:

  6. 更新存储库信息,以反映刚刚添加的 QGIS 信息,在终端输入以下代码:
    sudo apt update

  7. 现在,安装 QGIS:
    sudo apt install qgis qgis-plugin-grass
    如下图所示:

  8. 在安装完成后,只需在终端上输入:qgis,即可运行该程序,输入:qgis --version,可查看所安装的QGis版本;

七、 在麒麟系统上通过Qt5.x构建QGis
1、说明
QGIS像许多主要项目一样,可以使用CMake从源代码构建。在开始前,我们先确认检查下虚拟机中QGis构建所需的工具和依赖项是否正确;
构建所需的工具:CMake >= 3.12.0、Flex >= 2.5.6、Bison >= 2.4、Python >= 3.7
构建所需的依赖项:Qt >= 5.12.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 --version、flex --version、bison --version等,这里我们在查看Flex和Bison的版本时发现没有,然后我们只需要在命令行键入以下代码:sudo apt-get install flex bison,对Flex和Bison进行安装,而后再查看其版本号即可,具体过程如下图所示:

2、准备Qt环境
国产银河麒麟V10操作系统,虽然内核是linux,但经过了一些改造,因此跟常用的linux系统相比,还是有一些差异,经过反复测试,发现不是每一个qt库版本都可以安装,并且有一些qt库即使安装上了,也会缺少一些组件,导致qt开发的C++程序编译失败,而qt-everywhere-5.13.2版本则暂时没有碰到缺组件的问题。

  1. 官方下载地址:https://download.qt.io/archive/qt/5.13/5.13.2/single/
    选择下载qt-everywhere-src-5.13.2.tar.xz(注:别下.zip,因为那是给Win系统使用的包)
  2. 解压缩源码,然后再移动至/home:(注:后面编译时路径不能含有中文,浏览器下载后默认放在’下载’文件夹中)
    $ xz -d qt-everywhere-src-5.13.2.tar.xz
    $ tar -xvf qt-everywhere-src-5.13.2.tar
    (.tar.xz 文件是需要两步解压的)
    $ sudo mv qt-everywhere-src-5.13.2 /home
  3. 安装 libxcb 依赖:sudo apt-get install ‘^libxcb.*-dev’ libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
  4. 安装 Qt Webkit 相关依赖:sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby
  5. 安装 Qt WebEngine 依赖:sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison
  6. 安装 Qt Multimedia 依赖:sudo apt-get install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
  7. 安装 QDoc 相关依赖:sudo apt-get install libclang-6.0-dev llvm-6.0
  8. 安装 clang-8:sudo apt-get install clang-8
    sudo apt-get install clang clang-c++
  9. 安装 ninja

安装 ninja 依赖

sudo apt-get install re2c

编译 ninja

cd qt-everywhere-src-5.15.2/qtwebengine/src/3rdparty/ninja
./configure.py --bootstrap

安装 ninja

sudo cp ./ninja /usr/bin
#检查安装的ninja是否成功
ninja --version

  1. 编译安装Qt源码

配置

./configure -prefix /usr/local/qt-qt-5.13.2 -release -opensource -nomake examples -nomake tests -platform linux-clang

编译

sudo make -j 8

安装

sudo make install
11) 配置Qt环境
Qt 安装完成后,先别打开,因为还需要安装其他工具以及库文件。打开终端,键入命令“sudo apt-get install gcc g++”,安装 linux 下编程的编译器;
再输入命令“sudo apt-get install libqt4-dev”,不然编译时会出现错误“cannot find -lgl”;
再输入命令“sudo apt-get install build-essential”,这是一个编译工具,它可以使得我们的程序知道头文件和库函数放在哪个位置;
打开 Qt,即在终端,使用 cd 命令进入你的 Qt 安装目录(本文的Qt 安装在根目录下,使用命令“cd /opt/Qt5.7.0/Tools/QtCreator/bin/”),然后使用命令“./qtcreator”打开 Qt;

3、GDAL/PROJ6/SQLite3等构建依赖项;
打开虚拟机中的网页浏览器,输入这个网址:http:// gdal.org/download.html#,w我选择的是gdal-3.4.1.tar.gz进行下载,下载完成后,我们可以在“下载”目录查看到我们下载的源码,然后在“下载”页面右键打开终端,输入此命令:tar -zxvf gdal-3.4.1.tar.gz,对其进行解压,然后再将其移动至/home/Soft目录下(注:/home目录下的/Soft目录是笔者根据个人习惯自己建立的);之后再配置安装目录,笔者配置在/usr/GDAL3.4.1目录下,然后再生成makefile文件,命令执行代码如下:
:~/下载$ tar -zxvf gdal-3.4.1.tar.gz #对源码解压命令
:~/下载$ ls #查看解压后该目录下的文件,若之前操作无误,此时会显示解压后对应的文件夹:gdal-3.4.1
:~/下载$ sudo mv gdal-3.4.1 /home/Soft #将文件夹gdal-3.4.1移动到home目录下的Soft文件夹中
:~/下载KaTeX parse error: Expected 'EOF', got '#' at position 15: cd /home/Soft #̲进入home目录下的Soft文… cd gdal-3.4.1 #进入gdal-3.4.1文件夹
:/home/Soft/gdal-3.4.1$ sudo mkdir /usr/GDAL3.4.1 #建立GDAL的安装目录
:/home/Soft/gdal-3.4.1$ sudo ./configure --prefix=/usr/GDAL3.4.1
当我们执行上述命令后,命令行会出现以下提示:
checking for PROJ >= 6 library… checking for proj_create_from_wkt in -lproj… no
checking for internal_proj_create_from_wkt in -lproj… no
checking for internal_proj_create_from_wkt in -linternalproj… no
configure: error: PROJ 6 symbols not found
其原因是因为GDAL/OGR3.x版本需要PROJ6的支持,所以我们需要解决PROJ6的问题;
PROJ6官方下载地址:https://proj.org/我们在虚拟机中的网页浏览器搜索该网址,点击“Download”进入下载页面;
我们选择proj-6.3.2.tar.gz进行下载保存,解压后移动至/home/Soft目录,然后再进入proj-6.3.2文件夹,需具体执行的命令语句如下:
:~/下载$ tar -zxvf proj-6.3.2.tar.gz #对源码解压命令
:~/下载$ sudo mv proj-6.3.2 /home/Soft #将文件夹proj-6.3.2移动到home目录下的Soft文件夹中
:/home/Soft$ cd proj-6.3.2 #进入proj-6.3.2文件夹
:/home/Soft/ proj-6.3.2$ sudo mkdir /usr/PROJ6 #建立PROJ6的安装目录
:/home/Soft/ proj-6.3.2$ sudo ./configure –prefix=/usr/PROJ6
在执行完上述命令后,可能会出现下面问题:
No package ‘sqlite3’ found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables SQLITE3_CFLAGS
and SQLITE3_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
这是因为PROJ6的编译依赖SQLite3
●进入:https://www.sqlite.org/download.htm ;
下载sqlite-autoconf-3330000.tar.gz,解压、移动至/home/Soft目录、配置安装目录,生成makefile,具体操作可参考上文,下面给出具体操作命令:
sudo mkdir /usr/SQLite3
tar -zxvf sqlite-autoconf-3330000.tar.gz
cd sqlite-autoconf-3330000/
sudo ./configure –prefix=/usr/SQLite3
sudo make
sudo make install
●编译PROJ6,回到PROJ6解压目录,执行下面指令:
xxx/proj-6.3.2$ export PKG_CONFIG_PATH=/usr/PROJ
xxx/proj-6.3.2$ export PKG_CONFIG_PATH=/usr/PROJ6
xxx/proj-6.3.2$ echo $PKG_CONFIG_PATH #测试是否设置成功
/usr/PROJ6 #显示

xxx/proj-6.3.2$ export SQLITE3_CFLAGS=/usr/SQLite3/include
xxx/proj-6.3.2$ echo $SQLITE3_CFLAGS #测试是否设置成功
/usr/SQLite3/include #显示

xxx/proj-6.3.2$ export SQLITE3_LIBS=/usr/SQLite3/lib
xxxs/proj-6.3.2$ echo $SQLITE3_LIBS #测试是否设置成功
/usr/SQLite3/lib #显示

xxx/proj-6.3.2$ export PATH=/usr/SQLite3/bin/: P A T H x x x / p r o j − 6.3.2 PATH xxx/proj-6.3.2 PATHxxx/proj6.3.2 echo P A T H / u s r / S Q L i t e 3 / b i n / : / h o m e / g i s p i p i / j d k 1.8.0 / b i n : / h o m e / g i s p i p i / j d k 1.8.0 / j r e / b i n : / h o m e / g i s p i p i / Q t 5.14.1 / 5.14.1 / g c c 6 4 / b i n : / u s r / c m a k e − 3.18 / b i n : / u s r / l o c a l / s b i n : / u s r / l o c a l / b i n : / u s r / s b i n : / u s r / b i n : / s b i n : / b i n : / u s r / g a m e s : / u s r / l o c a l / g a m e s : PATH /usr/SQLite3/bin/:/home/gispipi/jdk1.8.0/bin:/home/gispipi/jdk1.8.0/jre/bin:/home/gispipi/Qt5.14.1/5.14.1/gcc_64/bin:/usr/cmake-3.18/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games: PATH/usr/SQLite3/bin/:/home/gispipi/jdk1.8.0/bin:/home/gispipi/jdk1.8.0/jre/bin:/home/gispipi/Qt5.14.1/5.14.1/gcc64/bin:/usr/cmake3.18/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:JAVA_HOME/bin:/snap/bin #显示

xxx/proj-6.3.2$ sqlite3 --version
3.33.0 2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f #显示

xxx/proj-6.3.2$ sudo ./configure --prefix=/usr/PROJ6

继续安装依赖:
xxx/proj-6.3.2 s u d o a p t − g e t i n s t a l l l i b s q l i t e 3 − d e v x x x / p r o j − 6.3.2 sudo apt-get install libsqlite3-dev xxx/proj-6.3.2 sudoaptgetinstalllibsqlite3devxxx/proj6.3.2sudo apt-get install sqlite sqlite3
xxx/proj-6.3.2$ sudo ./configure --prefix=/usr/PROJ6 #成功生成了makefile
xxx/proj-6.3.2$ sudo make #开始编译了,过程比较慢
xxx/proj-6.3.2$ sudo make install #安装到指定目录/usr/PROJ6
完成后的界面应如下图所示:

●编译GDAL
设置PATH将PROJ6的bin目录加入环境变量、编译依赖文件,即上一步编译的结果。
xxx/gdal-3.4.1$ export PATH=/usr/PROJ6/bin:KaTeX parse error: Expected 'EOF', got '#' at position 7: PATH #̲设置环境变量 xxx/gdal… sudo ./configure --with-proj=/usr/PROJ6 --prefix=/usr/GDAL3 #设置依赖文件及安装目录:注意 --with-proj=/usr/PROJ6很重要,告诉gdal去哪个目录找头文件和库
xxx/gdal-3.4.1$ sudo make #该过程较慢,需耐心等待
xxx/gdal-3.4.1$ sudo make install #安装
完成后的界面应如下图所示:

4、编译GEOS
GEOS是一个用于空间计算几何的C/ C++库,通常被“地理信息系统”软件使用,GEOS是PostGIS、QGIS、GDAL和Shapely的核心依赖。

  1. 下载地址:https://download.osgeo.org/geos/geos-3.10.1.tar.bz2
  2. 解压geos-3.10.1.tar.bz2:tar -jxvf geos-3.10.1.tar.bz2
  3. 根据官方建议在源代码外构建GEOS,所以在同级目录下创建文件夹’geos-build’: mkdir geos_build
  4. 进入用于构建的文件夹:cd geos_build
  5. 进行cmake:cmake …/geos-3.10.1
  6. 输入:make help
  7. 以交互的方式确认或者修改变量,请在’geos_build’的命令行中输入:ccmake . (这个点’. ’必须输入)
    修改图示如下:

提示:上下按钮选择变量,在对应变量值上按’Enter’键即可进行输入修改;
比较关键的两个:
CMAKE_INSTALL_PREFIX- 默认设置为 /usr/local/directory
CMAKE_BUILD_TYPE- 值为或(这对调试很有用)ReleaseDebug
a. 开始构建,请在geos_build的终端命令行中输入:make
b. 开始测试,请在geos_build的终端命令行中输入:make test
c. 开始检查,请在geos_build的终端命令行中输入:make check
d. 开始安装,请在geos_build的终端命令行中输入:make install
e. 如果你想卸载GEOS,请在geos_build的终端命令行中输入:make uninstall
5、开始构建QGIS
执行:sudo apt-get install gedit
执行:gedit /etc/apt/sources.list,然后会出现一个文件夹;
将文件夹中的原文全删,另将下文全部粘贴进去,后保存;
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
更新本地的包清单,输入:apt update
接着请在终端命令行中输入安装构建依赖项(bionic版本)的命令:
sudo apt-get install bison ca-certificates ccache cmake cmake-curses-gui dh-python doxygen expect flex flip gdal-bin git graphviz grass-dev libexiv2-dev libexpat1-dev libfcgi-dev libgdal-dev libgeos-dev libgsl-dev libpdal-dev libpq-dev libproj-dev libprotobuf-dev libqca-qt5-2-dev libqca-qt5-2-plugins libqscintilla2-qt5-dev libqt5opengl5-dev libqt5serialport5-dev libqt5sql5-sqlite libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev libqwt-qt5-dev libspatialindex-dev libspatialite-dev libsqlite3-dev libsqlite3-mod-spatialite libyaml-tiny-perl libzip-dev libzstd-dev lighttpd locales ninja-build ocl-icd-opencl-dev opencl-headers pandoc pdal pkg-config poppler-utils protobuf-compiler pyqt5-dev pyqt5-dev-tools pyqt5.qsci-dev python3-all-dev python3-autopep8 python3-dateutil python3-dev python3-future python3-gdal python3-httplib2 python3-jinja2 python3-lxml python3-markupsafe python3-mock python3-nose2 python3-owslib python3-plotly python3-psycopg2 python3-pygments python3-pyproj python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtpositioning python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-requests python3-sip python3-sip-dev python3-six python3-termcolor python3-tz python3-yaml qt3d-assimpsceneimport-plugin qt3d-defaultgeometryloader-plugin qt3d-gltfsceneio-plugin qt3d-scene2d-plugin qt3d5-dev qt5-default qt5keychain-dev qtbase5-dev qtbase5-private-dev qtpositioning5-dev qttools5-dev qttools5-dev-tools saga spawn-fcgi xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xvfb
设置ccache(用于加快编译速度)
cd /usr/local/bin
sudo ln -s /usr/bin/ccache gcc
sudo ln -s /usr/bin/ccache g++
准备开发环境
mkdir -p ${HOME}/dev/cpp
cd KaTeX parse error: Expected 'EOF', got '#' at position 375: …m:~/qgis-3.10.0#̲ cd build-maste…{HOME}/apps;
**按键盘上的上下按钮,选择对应的项,若要修改某项,请先确保光标在对应的项上,然后再按’Enter’键,即可对项参数进行修改,修改完成后,再按一次’Enter’键退出编辑!
配置好后,现在可以按c键去配置,按e去编辑参数改掉这些错误,按g可以生成makefile;
!提示,通常在按g之前,需要按c很多次。
/接下来会遇到一些问题,笔者在此过程中遇到的问题和解决方法如下文所述/
八、 FAQ
1、提示:OpenCL报错
在我们对QGis进行构建时,可能会出现以下错误:
Could not find OpneCL (missing:OpenCL_LIBRARY OpenCL_INCLUDE_DIR)
Couldn’t fing OpenCL:support DISABLED

具体解决方法:

  1. 安装clinfo,clinfo是一个显示OpenCL平台和设备的软件,安装后,在命令行输入clinfo即可验证;
    命令:sudo apt-get install clinfo(在 /home/xxx/下载 执行)
  2. 在虚拟机的浏览器中输入网址:Download Intel® SDK for OpenCL™ Applications for Linux* - Intel® Products,如下图所示:

将该SDK下载至‘xxx/下载’,然后再解压
3) 安装依赖项:
~/xxx$ sudo apt install dkms xz-utils openssl libnuma1 libpciaccess0 bc curl libssl-dev lsb-core libicu-dev
~/xxx$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
~/xxx$ echo “deb http://download.mono-project.com/repo/debian wheezy main” | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
~/xxx$ sudo apt-get update
~/xxx$ sudo apt-get install mono-complete
4) 进入intel SDK解压后的目录,开始安装,输入指令:
sudo sh install_GUI.sh
(注:此文件名因版本不同会有区别,请在执行此命令前,输入‘ls’,查看一下解压包内‘installxxx.sh’文件的具体名称 )
按照提示信息安装,安装时可能会提示“Unsupported OS”,点击next无视掉。安装到“Installation summary”页面时,点击“Customize”自定义安装组件,选择除了“Set of OpenCL™ files for Android* target”以外的所有组件。
无视Missing libraries,next继续,点Install安装。
2、提示:ccmake:未找到指令

  1. 出现该问题的原因,可能是缺少一个依赖库未安装;
    输入指令:sudo apt install cmake-curses-gui
    再编译即可。
  2. 若依然提示ccmake:未找到指令
    需要安装CMake的GUI界面
    输入指令:sudo apt-get install cmake-qt-gui
    打开界面:cmake-gui
    3、提示:FindGDAL.cmake:gdal-config not found.
    执行ccmake … 后,若出现:FindGDAL . cmake:gdal-config not found. Please set it manually.
    原因是因为在第9步,安装GDAL后,没有在ccmake … 的界面对其路径进行配置;找到GDAL的安装路径,本机如下图所示:

将对应的路径填写,如下所示:(注:以本机实际路径为准)
GDAL_CONFIG /usr/GDAL3/bin/gdal-config
GDAL_CONFIG_PREFER_FWTOOLS_PAT /bin_safe
GDAL_CONFIG_PREFER_PATH /bin
GDAL_INCLUDE_DIR /usr/GDAL3/include
GDAL_LIBRARY /usr/GDAL3/lib
4、提示:Could NOT find LibZip
Could NOT find LibZip (missing:LIBZIP_LIBRARY LIBZIP_CONF_INCLUDE_DIR)
输入指令:sudo apt install libzip-dev
5、提示:Could NOT find Protobuf
(missing: Protobuf_INCLUDE_DIR)

  1. 到protobuf的release页面下载源码:https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protobuf-all-3.6.1.tar.gz
  2. 安装编译依赖:sudo apt-get install autoconf automake libtool curl make g++ unzip
  3. 解压、编译、安装(测试时是非root帐号,所以install时需要sudo)
    tar -xvf protobuf-all-3.6.1.tar.gz
    cd protobuf-3.6.1 ./configure
    –prefix=/usr/local/protobuf
    make
    make check
    sudo make install
  4. 配置1:环境变量(参考链接)
    vim /etc/profile
    添加两行:
    export PATH=$PATH:/usr/local/protobuf/bin/
    export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
    source /etc/profile
    ~/.profile中也添加上面两行
  5. 配置2:动态链接库
    cd /etc/ld.so.conf.d/
    sudo vi protobuf.conf
    添加一行:
    /usr/local/protobuf/lib
    ldconfig
  6. 确认版本
    $ protoc --version
    libprotoc 3.6.1
    6、安装Ruby
    输入以下指令进行安装:
    sudo apt update
    sudo apt install ruby-full

7、安装JPEG
输入以下指令进行安装:
sudo apt-get install libjpeg-dev
8、构建QtWibKit
目前问题卡在这里。
参考:
安装:GitHub - qt/qtwebkit at 5.212
如何构建:(106条消息) ubuntu编译qt5.3 WebKit_happyzzzzz的博客-CSDN博客_编译qtwebkit

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值