1.安装Ubuntu系统,然后 root 账户登录,不然可能会有权限问题,避免麻烦。
==================开启root账户并以root自动登录教程=============
1.以普通用户登录系统,创建root用户的密码
在终端输入命令:sudo passwd root
输入两次密码确认
2.修改 50-ubuntu.conf 文件(以ubuntu20为例)
在终端输入命令:sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
在文件末尾增加如下两行:
greeter-show-manual-login=true
all-guest=false
3.修改 gdm-autologin 文件
在终端输入命令:sudo gedit /etc/pam.d/gdm-autologin
# 注释掉第三行的 auth required pam_succeed_if.so user != root quiet_success
4.修改 gdm-password 文件
在终端输入命令:sudo gedit /etc/pam.d/gdm-password
# 注释掉第三行的 auth required pam_succeed_if.so user != root quiet_success
5.修改 /root/.profile 文件
在终端输入命令:sudo gedit /root/.profile
将文件末尾的 mesg n 2> /dev/null || true 这一行修改成
tty -s&&mesg n || true
6.root用户自动登录 修改custom.conf
在终端输入命令:sudo gedit /etc/gdm3/custom.conf
在[daemon]下添加:
AutomaticLoginEnable=true
AutomaticLogin=root
TimedLoginEnable = true
TimedLogin = root
TimedLoginDelay = 10
重启后,则自动登陆root 账户
------------------------------------------------------------------------------------------
2.安装QTCreater(为什么要先安装这个?因为这里可以选择自动安装openssl)
下载QtCreator安装文件:(建议选择在线安装包,否则不会有openssl选择项安装)
wget https://download.qt.io/archive/online_installers/4.5/qt-unified-linux-x64-4.5.1-online.run
修改文件权限:
chmod -R 777 qt-unified-linux-x64-4.5.1-online.run
执行文件:
./qt-unified-linux-x64-4.5.1-online.run
输入QT的账号密码:
勾选之后下一步:
其中的直接下一步:
设置安装路径,并且选择客制化安装:
因为是静态编译,只需要安装QtCreator编译器,其他不需要(建议选择上openssl):
然后点击下一步直到安装完成结束。
3.打开终端,安装静态编译的必要环境:
如果没有安装vim命令,执行命令安装:sudo apt-get install vim
首先,你得有 gcc
在终端输入:gcc -v
如果没有显示gcc版本,则输入命令安装:sudo apt-get install gcc
同理,执行命令:g++ -v
如果没有显示g++版本,则输入命令安装:sudo apt-get install g++
继续安装其他依赖:
注:如安装时,遇到暂停需要输入y时,直接输入y,然后确定即可。
sudo apt-get install bison build-essential gperf flex ruby libasound2-dev libbz2-dev libcap-dev libcups2-dev libdrm-dev libegl1-mesa-dev libnss3-dev libpci-dev libpulse-dev libudev-dev libxtst-dev gyp ninja-build libglu1-mesa-dev libfontconfig1-dev libx11-xcb-dev libicu-dev libxkbcommon-x11-dev python3 libxcb-xfixes0-dev libqt5serialport5 libqt5serialport5-dev libgl1-mesa-dev freeglut3-dev aptitude
如果项目需要用到openssl(大部分项目应该用得到,如果用不到,可以忽略) 则还需要安装openssl 1.1.1 版本(如果前面安装QTCreater用的是完整离线包安装的,则还需要检测你是否安装openssl,注意:qt5 用到的 openssl 必须是 1.1.1 版本)
输入命令:openssl version
如果没有显示版本,则没安装。
如果显示 的不是 1.1.1 的版本,则需要先卸载。
======================安装openssl教程===================================
卸载原有 openssl 版本
# sudo apt-get remove openssl
下载最新源码
# sudo wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
解压下载的源码
# sudo tar -zxvf openssl-1.1.1d.tar.gz
进入源码目录
# sudo cd openssl-1.1.1d/
配置
这里有两种方案:
-------------------------------------------第一种-------------------------------------------
# sudo ./config shared --prefix=/usr/local/openssl --openssldir=/usr/lib/openssl
编译并按照
# sudo make && make install
设置环境变量
# sudo vim ~/.bashrc
在最后一行添加
export PATH=$PATH:/usr/local/openssl/bin
保存退出
使上面的设置生效
# sudo source ~/.bashrc
创建软连接
# sudo ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
# sudo ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
-------------------------------------------第一种结束-------------------------------------------
-------------------------------------------第二种-------------------------------------------
说明:如果第一种不行,则试试第二种方案。
# sudo ./config
编译并按照
# sudo make && make install
修改配置 sudo vim ~/.bashrc
删除类似带 openssl 或者 ssl 目录的配置
export PATH=$PATH:/usr/local/openssl/bin
修改配置 sudo vi /etc/profile
删除类似带 openssl 或者 ssl 目录的配置
然后重启系统
最后使用 openssl version 校验版本
# openssl version
OpenSSL 1.1.1d
-------------------------------------------第二种-end------------------------------------------
4.安装完成后,则在剩余盘符大于20G的文件夹下,编译源码比较大,下载和编译源码:
比如我选择路径是:/home/qt 选择自己想保存的目录
执行命令到对应目录下:cd /home/qt
下载源码包,我选择的是qt5.12.10版本:
wget https://download.qt.io/archive/qt/5.12/5.12.10/single/qt-everywhere-src-5.12.10.tar.xz
执行解压:
tar -xvf qt-everywhere-src-5.12.10.tar.xz
解压完成后,进入解压的文件夹下:
cd qt-everywhere-src-5.12.10
创建文件 autoConfigure.sh然后就是linux下操作文本的基本命令,按 i 变为插入状态然后粘
vim autoConfigure.sh
贴以下代码:
#! /bin/bash QT_INSTALL_PATH="-prefix /home/qt5.12.10" #你的Qt保存路径(自己修改) QT_COMPLIER+="-platform linux-g++-64" #编译器 CONFIG_PARAM+="-static " #静态编译 CONFIG_PARAM+="-debug -release " #编译release,两种都编译 -debug -release CONFIG_PARAM+="-nomake examples " #不编译examples CONFIG_PARAM+="-nomake tests " #不编译tests CONFIG_PARAM+="-qt-xcb " #选择Qt版本(开源, 商业), 并自动确认许可认证 CONFIG_PARAM+="-opensource " #编译开源版本, -commercial商业版本 CONFIG_PARAM+="-confirm-license " #自动确认许可认证 echo "./configure $CONFIG_PARAM $QT_COMPLIER $QT_INSTALL_PATH" ./configure $CONFIG_PARAM $QT_COMPLIER $QT_INSTALL_PATH
按ESC退出编辑状态,输入 :wq 保存文件。
然后修改文件权限:
chmod -R 777 autoConfigure.sh
执行脚本文件:
./autoConfigure.sh
等待执行完成,如果没有Error,则为成功,警告可以忽略。
注意:异常处理在最后章节 6.异常处理
配置完成后,执行命令:
sudo make -j4
开始编译(-j4参数可修改,代表多线程编译,也可去除),等待编译完成。
sudo make -j4
编译完成后,执行命令安装:
sudo make install
sudo make install
如果没有异常出现,则生成的静态编译文件则在:
QT_INSTALL_PATH="-prefix /home/qt5.12.10" #你的Qt保存路径(自己修改)
这个路径下。
5.打开QtCreator,配置编译
打开QtCreator,如果未生成运行快捷方式,则可以到文件夹下执行启动文件。
如我的路径是:/opt/Qt/Tools/QtCreator/bin 下的 qtcreator 文件,运行就行。
启动后,配置编译环境:
然后添加套件:
添加完成后,记住,都要点击 应用 按钮保存配置。
然后就可以打开你的工程编译了,选择你添加的这个套件即可。
6.异常处理
1.如果出现:error: ‘runtime_error’ is not a member of ‘std’
找到文件:
/home/qt/qt-everywhere-src-5.12.10/qt-everywhere-src-5.12.10/qtlocation/src/3rdparty/mapbox-gl-native/platform/default/bidi.cpp
在第一行添加:
#include <stdexcept>
找到文件:
/home/qt/qt-everywhere-src-5.12.10/qt-everywhere-src-5.12.10/qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/util.hpp
在最后一行添加:
#include <cstdint>
2.如果出现:error: ‘numeric_limits’ is not a member of ‘std’
则需要修改代码:
执行命令:
sudo gedit /home/qt/qt-everywhere-src-5.12.10/qtbase/src/corelib/global/qglobal.h
在最后添加:
#include <stdexcept> #include <limits>
3.如果出现 错误 python: not found
解决方法:
ls -l /usr/bin/python*
安装python2.7:
sudo apt install python2-minimal
需要切换到2.7版本:
#切换python版本为2.7 sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1 #切换python版本为3.7 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
输入命令:python2 -V