中标麒麟 6.0 安装 QT
一、 QT 简介
Qt 是一种基于 C++的跨平台图形用户界面应用程序开发框架。如何跨平台?
上到服务器上位机,下到嵌入式 GUI,上天入地无所不能。Qt 最早是由 1991 年由
Qt Company 开发,但是到 2008 年,Qt Company 科技被诺基亚公司收购,是的,
就是拥有着我们很多情怀的诺基亚。但在 2012 年,Qt 又被 Digia 收购。等到了 2014
年,跨平台集成开发环境 Qt Creator 3.1.0 正式发布出来,至此,全面支持 iOS、
Android、WP,QT 的时代开始逐步展开。
二、 安装须知
中标麒麟下安装 QT 之前,要安装一些 QT 所依赖的软件包/库(gcc/g++、)。
1、安装 gcc
可在网上下载 gcc 对应版本(尽量版本不要太低,个人建议 4.9.x 以上),我用的是
gcc-5.5.0 版本。
下载地址 1:
ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-5.5.0/gc
c-5.5.0.tar.gz
下载地址 2:
http://ftp.gnu.org/gnu/gcc/gcc-5.5.0/gcc-5.5.0.tar.gz
下载地址 3:
https://download.csdn.net/download/woqiniu/12573477
2、联网升级 gcc--耗时
上述安装 GCC 后,gcc 版本较低,需要升级,否则 QTCREATER 安装不成
功,出现如下错误:
/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
解决方法如下:
(1) 解压缩 tar -zxvf gcc-5.5.0.tar.gz,并进入解压目录 cd gcc-5.5.0
运行 download_prerequisites 脚本,./contrib/download_prerequisites ,
这个脚本会自动帮你下载所需要的依赖文件和库。
(2) 建立输出目录,将所有的中间文件都放到该目录,
mkdir gcc_temp
cd gcc_temp
(3) 运行 ../configure --enable-checking=release
--enable-languages=c,c++ --disable-multilib
(4) make –j4
(5) make install
(6)验证版本 gcc –v
(7)cd /usr/bin
mv /usr/bin/gcc /usr/bin/gcc4.4.7 (gcc4.4.7 是 gcc 老版本)
ln -s /usr/local/bin/gcc /usr/bin/gcc
另外,g++, cc, c++这几个命令也要改
mv /usr/bin/g++ /usr/bin/g++4.4.7
ln -s /usr/local/bin/g++ /usr/bin/g++
mv /usr/bin/cc /usr/bin/cc4.4.7
ln -s /usr/local/bin/cc /usr/bin/cc
mv /usr/bin/c++ /usr/bin/c++4.4.7
ln -s /usr/local/bin/c++ /usr/bin/c++
安装完成后,输入 gcc –version 查看版本
(10)转入 4
3、离线升级 gcc
将 gcc-5.5.0-full.tar.gz 上传,并解压(gcc-5.5.0-full.tar.gz 是在联网下,
下载 gcc-5.5.0.tar.gz,解压,运行./contrib/download_prexxx 后,重新压缩
生成的压缩包,既相当于在联网情况下完成了 2 中的前几个步骤,后面的步骤按
照 2 中的后续步骤完成安装即可)
4、替换旧版本 gcc
find / -name "libstdc++.so*"
输出如下:(gcc-4.9.3 是版本,gcc-temp 是 9 中自己新建的编译目录)
/home/gcc-4.9.3/gcc-temp/stage1-x86_64-unknown-linux-gnu/libstdc++-
v3/src/.libs/libstdc++.so
/home/gcc-4.9.3/gcc-temp/stage1-x86_64-unknown-linux-gnu/libstdc++-
v3/src/.libs/libstdc++.so.6
/home/gcc-4.9.3/gcc-temp/stage1-x86_64-unknown-linux-gnu/libstdc++-
v3/src/.libs/libstdc++.so.6.0.20 //最新动态库
……
/home/gcc-4.9.3/gcc-temp 是升级 gcc 时的输出目录。
将上面的最新动态库 libstdc++.so.6.0.20 复制到/usr/lib64 目录下:
cp
/home/gcc-5.2.0/gcc-temp/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/s
rc/.libs/libstdc++.so.6.0.21 /usr/lib64
复制后,修改系统默认动态库的指向,即:重建默认库的软连接。
切换工作目录至/usr/lib64:
cd /usr/lib64
删除原来软连接:
rm -rf libstdc++.so.6
将默认库的软连接指向最新动态库:
ln -s libstdc++.so.6.0.20 libstdc++.so.6
默认动态库升级完成。重新运行以下命令检查动态库:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
现在输出如下:
GLIBCXX_3.4
GLIBCXX_3.4.1
…
GLIBCXX_3.4.20
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
5、升级 glibc2.17(视个人情况升级)
注:因为我下载的中标麒麟 6.0 版自带的版本就是 glibc2.17
下载 glibc-2.17.tar.gz 并解压
tar –zxvf glibc-2.17.tar.gz,cd glibc2.17
mkdir build;cd bulid
../configure
--prefix=/usr
--disable-profile
--enable-add-ons
--with-headers=/usr/include --with-binutils=/usr/bin
make;make install
查看版本:strings /lib64/libc.so.6|grep GLIBC
---------------------------------------
替换旧版本 gcc、c++及相应库文件
(1)替换 gcc
Find / -name gcc
会找到如下:
usr/libexec/gcc (下面是历史版本 gcc)
../lib/gcc (下面是历史版本 gcc)
自己安装的 gcc:
usr/local/libexec/gcc
自己安装的 gcc:
/usr/local/lib/gcc
将自己安装目录的 gcc 替换上述两个 gcc,注意 libexec/gcc 与 lib/gcc 下
的不一样,需要分别拷贝
(2)替换 c++
Fing / -name c++
查看所有的 bin 目录下的 c++的版本,如果是历史版本,则删除,并在对应
目录下建立到新版本 c++的软连接,例如,历史版本 c++在/usr/bin 下,新
版本 c++在/usr/local/bin 下,则操作如下
cd /usr/bin
sudo rm c++
sudo ln –s /usr/local/bin/c++ c++
(3)替换 libgcc_s.so.1
Find / -name “libgcc*”
老版本的 libgcc_s.so.1 在/lib64 目录下,将新版本的拷贝到该目录下即可(新
版本库有一个软连接 libgcc_s.so ->libgcc_s.so.1,将 libgcc_s.so.1 拷贝到
/lib64 目录后,也建立一个软连接 libgcc_s.so ->libgcc_s.so.1)
6、安装 cmake 2.8.12(5 分钟)
下载地址 1:
https://cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
下载地址 2:
https://download.csdn.net/download/woqiniu/12573609
可先使用 cmake --version 查看版本
yum erase cmake//卸载原先 cmake
tar -zxvf cmake-2.8.12.2.tar.gz //解压
cd cmake-2.8.12.2
找到 libncurses.so 及 curses.h 的位置(一般在/usr/lib64 和/usr/include
目录下)
修改 cmake-2.8.12/Modules/FindCurses.cmake,在注释下方添加:
set(CURSES_INCLUDE_DIRS "/usr/include")
set(CURSES_LIBRARIES "/usr/lib64/libncurses.so")
./configure
make –j4
sudo make install //在/usr/local/bin 可以看到 cmake 可执行程序,
添加 cmake 到 PATH 环境变量 PATH=$PATH:/usr/local/bin
cmake --version //查看版本
三、 Qt 依赖
1、安装 QT 依赖库
(1)安装 libxau
cd /home/meteo/deb/deb-qt/1libxau
rpm –ivh xorg-x11-proto-devel-7.7-14.el6.noarch.rpm
rpm -Uvh --force --nodeps *.rpm
(2)安装 libx11-dev
Cd /home/meteo/deb/deb-qt/2libx11
rpm -Uvh --force --nodeps libX11-common-1.6.4-3.el6.noarch.rpm
rpm -Uvh --force --nodeps libxcb-1.12-4.el6.x86_64.rpm
rpm -ivh libxcb-devel-1.12-4.el6.x86_64.rpm
rpm -Uvh --force --nodeps libX11-1.6.4-3.el6.x86_64.rpm
rpm -ivh libX11-devel-1.6.4-3.el6.x86_64.rpm
(3)安装 libXext-devel
rpm -Uvh --force --nodeps libXext-1.3.3-1.el6.x86_64.rpm
rpm -ivh libXext-devel-1.3.3-1.el6.x86_64.rpm
(4)安装 libxrend
rpm -Uvh --force --nodeps *.rpm
(5)安装 libxt(文件夹 6 下)
rpm -Uvh --force --nodeps *.rpm
四、 安装 QT
1、安装 QT(非 root 用户)
下载地址 1:
http://download.qt.io/archive/qt/
下载地址 2:
https://download.csdn.net/download/woqiniu/12573415
(1) 上传安装文件
(2) 首先需要修改可执行文件的运行权限并执行
(3) 运行此程序后,会弹出一个图形安装界面,需要你自己选择安装位置,我这里设置
的为/opt/Qt5.9.1/,其他的选择默认的安装即可。你只需要静静等待安装完成。
(4) 设置环境变量
export QTDIR=/opt/Qt5.9.1/5.9.1/gcc_64
export QTINC=$QTDIR/include
export QTLIB=$QTDIR/lib
export PATH=$QTDIR/bin:$PATH