从零开始在统信UOS(linux)上配置QT开发环境,大概也适用于Ubuntu

本人作为小白开始在统信UOS(linux)上安装并学习使用QT,期间走过不少坑,即有设备性能的问题,也有统信自身的一些情况,所以做这篇文章总结并给后来的一些朋友一些参考(每个人的情况可能不同,该文章仅供参考)

1.统信UOS的安装

本人使用的三星外界机械硬盘(160g的内存,淘宝买的),固态更好.USB启动盘的制作及统信系统的安装参考以下视频

https://www.bilibili.com/video/BV1Xp4y1Q79b?from=search&seid=7843287293705950098

做好USB启动盘后,重启电脑,在启动界面亮起时按Fn+Delete,根据显示按F12,在新界面选择USB启动,进入统信系统安装界面,接着按以上视频的内容完成统信系统的安装

2.统信系统的设置

安装后进入统信系统并连接网络,在左下角的启动器里点击控制中心,接着找到系统信息下的关于本机,完成版本授权的激活.

然后在通用下的开发者模式完成开发者模式的激活.

3.统信系统g++的安装(主要卡在这里)

使用Qt就需要安装g++,通过在桌面右键后点击在终端中打开,输入:


sudo apt-get update
sudo apt-get install g++

但是sudo apt-get update一直失败,经查询是源的问题.这时要安装g++就尝试了两种方式:

1.手动安装g++(失败)

手动安装可以绕开现有软件源访问不稳定或者根本无法访问所带来的困扰,但是手动安装的软件包往往又依赖另一个软件包,造成手动安装需按一定顺序安装一定数量的软件包才行,且一些软件包还存在相互依赖的情况,安装十分麻烦.本人通过在网上查询并下载8个软件包才完成g++4.6的安装.

但是之后安装QT后却显示Cannot run compiler 'g++',查询分析后要不是手动安装的g++不完整,要不是QT无法检测到带版本号的g++.

2.换软件源(成功)

查询百度大多教你如何换上阿里的源,但是尝试过后sudo apt-get update却显示无法引用.后来查询到科大的源似乎没有问题,就试试居然成功了,

参考链接:https://blog.csdn.net/feng964497595/article/details/79792123

进入终端修改源:

sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak # 备份一下旧的源配置
sudo vim /etc/apt/sources.list打开并编辑源文件

将源换成科大的源:(具体操作看下面)

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

## Not recommended
# deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

将上述源复制后,在打开的源文件里将第一排除外的内容全部框选,Ctrl+Shift+V完成粘贴,粘贴后按Esc,再同时按Shift: ,再输入wq,回车即完成保存

之后尝试

sudo apt-get upgrade
sudo apt-get update
sudo apt-get install g++

但是可能sudo apt-get update后(因为我的确实是出现了)会出现类似于没有公钥

W: GPG 错误: trusty InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 0A40427E209088E7

这个简单,只需在终端输入

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0A40427E209088E7

解决方法中的 蓝色字体内容0A40427E209088E7要与提示没有公钥的签名(红色字体)一致。

再重新输入一下内容即完成g++的安装

sudo apt-get update
sudo apt-get install g++

安装完g++,gcc也会自动安上。查看一下版本信息确认安装完毕:

g++ –v
gcc –v

4.QT的下载与安装

本人没有通过官网下载安装包(太慢了),而是通过国内镜像网站

点击链接进入网站后依次点击archive/,qt/,进而选择自己所需的版本,比如我的是5.14.0,因为是在统信UOS(linux)下使用,所以就点击下载.run文件的链接就行.

下载的 .run 文件不一定具有可执行权限, 可以执行如下命令开启执行权限:

chmod +x /文件夹路径/qt-opensource-linux-x64-5.14.0.run

将“文件夹路径”替换为自己系统里该 run 文件的路径即可。然后可以直接点击运行该 run 文件,开始安装。

Qt 安装过程中最关键的一步是组件的选择

Desktop gcc 64-bit这是使用桌面版 GCC 64-bit 编译环境生成的 Qt 库,是 Qt 的核心,必须安装。

注意,虽然名字看起来像是 GCC 编译器套件,但实际上说的是 Qt 库的编译环境。大部分 Linux 发行版都会预装 GCC 编译器套件,所以 Qt 安装包没必要附带它们。
Android ***这是针对安卓应用开发的 Qt 库,如果读者有安卓开发这方面需求可以自己选择安装,一般情况下用不到。
SourcesQt 的源代码包,除非你想阅读 Qt 的源码,否则不用安装。
Qt ***Qt 的附加模块,大部分建议安装,这些附加模块括号里的 TP 是指 Technology Preview ,技术预览模块的意思,还处在功能测试阶段,不是正式版模块;附加模块括号里的 Deprecated 是指抛弃的旧模块,兼容旧代码使用的,一般用不到。这些附加模块读者可以选择部分或都勾选了安装,占用空间不大。

部分组件说明:
  • Qt Charts 是二维图表模块,用于绘制柱状图、饼图、曲线图等常用二维图表。
  • Qt Data Visualization 是三维数据图表模块,用于数据的三维显示,如散点的三维空间分布、三维曲面等。
  • Qt Scritp(Deprecated)是脚本模块,已被抛弃,不建议安装。
Qt Creator 4.3.0

这是集成开发环境,强制安装的,以后所有的项目和代码都在 Qt Creator 里面新建和编辑。

 选择完了组件,根据向导一步一步操作就可以了。安装完成后,在左上角“应用程序 --> 编程”菜单中可以看到 Qt Creator,证明安装成功了。点击 Qt Creator,就可以开始 Qt 编程了。

5.Qt error:cannot find -lGL

对于很多 Linux 发行版本,Qt安装完成后如果直接编译或者运行项目,会出现“cannot find -lGL”错误,如下图所示:

cannot find -lGL


这是因为 Qt 找不到 OpenGL 的动态链接库(libGL.so)。Qt 默认在 /usr/lib/ 目录下查找动态链接库,但是很多 Linux 发行版将 OpenGL 链接库放在其它目录,对于统信UOS链接库位于 /usr/lib/x86_64-linux-gnu/目录.在 /usr/lib/ 目录下为 libGL.so 创建一个链接,就能解决问题.即需要在 /usr/lib/ 目录下为 OpenGL 链接库创建一个链接,并去掉版本号。

具体操作如下:

先查找libGL的路径,如果你不知道当前 Linux 系统中 libGL.so 的具体路径,可以使用locate libGL命令或find /usr -name libGL*命令查找,然后使用ln -s创建链接。

但是我用locate libGL命令或find /usr -name libGL*查找显示没有locate货find这个命令,于是我直接在系统盘目录中搜索libGL,找到了libGL.so.2,直接复制其名称

在 /usr/lib/ 目录下右键打开终端创建链接:

sudo -i

ln -s /usr/lib64/libGL.so.1 /usr/lib/libGL.so

红色字体内容是查到的任意一个libGL链接库完整文件名,其余的不变.

Linux 系统中可能存在多个版本的 libGL.so,为任意一个版本创建链接即可。普通用户没有权限创建链接,所以我使用了 root 用户。

完成以上操作,再次启动 Qt,然后编译或者运行,就不会出现“cannot find -lGL”错误了。

6.Qt无法输入中文

因为统信自带的输入法中英文切换不习惯,下载了搜狗输入法但是使用QT时却无法输入中文

参考:https://blog.csdn.net/qq_42608626/article/details/95992101

解决方法:

安装fcitx-frontend-qt5

sudo  apt-get install fcitx-frontend-qt5

通常,fcitx-frontend-qt5在下面的目录路径中:
/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

复制fcitx-frontend-qt5到qt安装目录中

通常,qt的安装在/opt/中

cd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts

ls -l

sudo cp libfcitxplatforminputcontextplugin.so /XXX/Qt5.12.3/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/

需要将上面和下面的/XXX/Qt5.12.3/换成自己的目录(如:/XXX/Qt5.12.3/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/)

更改libfcitxplatforminputcontextplugin.so权限

cd /XXX/Qt5.12.3/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/

ls -l

sudo chmod 775 libfcitxplatforminputcontextplugin.so

ls -l

重新打开qt,实测可以输入中文了。(前提是已经安装好搜狗输入法了)

这时就差不多完成统信UOS上QT的配置并开始使用了.

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于统信UOS操作系统,可以使用以下步骤配置Nginx作为web服务器: 1. 安装Nginx: 在终端中执行以下命令来安装Nginx: ``` sudo apt update sudo apt install nginx ``` 2. 配置网站文件: 默认情况下,Nginx的网站文件位于`/etc/nginx/sites-available/`目录下。可以通过创建一个新的配置文件来配置您的网站。在终端中执行以下命令: ``` sudo nano /etc/nginx/sites-available/mywebsite.conf ``` 在打开的文件中,可以按照以下示例进行配置: ``` server { listen 80; listen [::]:80; root /var/www/html; index index.html index.htm; server_name mywebsite.com www.mywebsite.com; location / { try_files $uri $uri/ =404; } } ``` 在上面的示例中,将`mywebsite.com`替换为您的实际域名。如果您要使用默认的Nginx欢迎页面,则无需更改根目录和索引文件。 3. 激活网站配置: 创建配置文件后,需要创建一个符号链接将其关联到`sites-enabled`目录。在终端中执行以下命令: ``` sudo ln -s /etc/nginx/sites-available/mywebsite.conf /etc/nginx/sites-enabled/ ``` 4. 检查配置文件语法并重新加载Nginx: 在终端中执行以下命令以验证Nginx配置文件的语法是否正确: ``` sudo nginx -t ``` 如果没有错误,重新加载Nginx以使配置生效: ``` sudo systemctl reload nginx ``` 5. 配置防火墙: 需要确保防火墙允许HTTP和HTTPS流量通过。在终端中执行以下命令: ``` sudo ufw allow 'Nginx HTTP' ``` 如果您要启用HTTPS,则还需要允许HTTPS流量: ``` sudo ufw allow 'Nginx HTTPS' ``` 通过按照以上步骤配置Nginx,您可以将其用作统信UOS操作系统上的web服务器。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值