从零开始搭建国产化系统QT开发环境

从零开始搭建国产化系统QT开发环境

1.国产化系统安装

1.1 国产化PC系统镜像下载地址

各大国产化系统官网,填写申请即可拿到下载链接,这里就不细说了

  • 系统硬件和系统版本必须对应,否则会安装失败

1.2 通过国产化系统启动盘制作工具

  • U盘大小不能超过32G,否则系统会安装失败

1.3 设置root账号密码

sudo passwd root
1.4 配置银河麒麟系统软件源

UOS系统只能用官方认证的源,只能通过公网连接官网源,所以无需配置。

(1)切换到配置文件目录
cd /etc/apt/
(2)备份软件源配置文件
cp sources.list sources.list.bak
(3)编辑软件源配置文件
vim sources.list
(4)配置银河麒麟软件源
#4.0.2桌面版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2-desktop main restricted universe multiverse

#4.0.2-sp1桌面版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp1-desktop main restricted universe multiverse

#4.0.2-sp2桌面版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp2-desktop main restricted universe multiverse

#4.0.2服务器版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2-server main restricted universe multiverse

#4.0.2-sp1服务器版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp1-server main restricted universe multiverse

#4.0.2-sp2服务器版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp2-server main restricted universe multiverse

#4.0.2-sp2 FT2000+服务器版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp2-server-ft2000 main restricted universe multiverse

#4.0.2-sp3版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp3 main restricted universe multiverse

#4.0.2-sp4版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp4 main restricted universe multiverse

#V10版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 10.0 main restricted universe multiverse

#V10.1版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 10.1 main restricted universe multiverse
(5)执行软件源立即生效命令
source sources.list
(6)更新软件源
sudo apt-get update

2.远程控制配置

2.1 VNC连接配置
2.1.1 手动启动vnc
x11vnc
2.1.2 自动启动vnc
(1) 更新系统
sudo apt-get update
(2)安装x11vnc
sudo apt-get install x11vnc -y
(3)设置VNC连接密码
sudo x11vnc -storepasswd /etc/x11vnc.pass

根据提示,输入并确认VNC连接的密码,密码保存在/etc/x11vnc.pass文件中。

(4)编写服务脚本
sudo vim /lib/systemd/system/x11vnc.service

x11vnc.service文件内容如下:

[Unit]
Description=Start x11vnc at startup
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target

保存退出

(5) 修改文件权限
sudo chmod 755 /lib/systemd/system/x11vnc.service
(6) 修改用户和组
sudo chown root:root /lib/systemd/system/x11vnc.service
(7)配置启动服务
sudo systemctl enable x11vnc.service
sudo system daemon-reload
(8)重启生效
sudo reboot

3.ssh服务配置

(1)设置服务的开机自启动
systemctl enable ssh
(2)设置ssh服务的运行模式
update-rc.d ssh enable 2 3 4 5
(3)配置sshd允许root登陆
vim /etc/ssh/sshd_config

找到行PermitRootLogin prohibit-password,去掉注释,并将后面的 prohibit-password改为 yes,这样ssh 才能以root用户登录。

(4)重启sshd服务
service sshd restart

4.samba服务配置

国产化系统因为没有加域无法使用SVN或者Git在线提交或者更新代码,代码只能在windows加域电脑和国产化电脑来回拷贝,工作效率非常低,可以通过配置samba服务实现文件共享,将代码仓库放到共享目录中,可以在linux开发调试,windows上更新提交代码,非常方便。

4.1 UOS系统配置samba服务

(1)查询samba安装包
sudo dpkg -l | grep samba
(2)安装samba软件
sudo apt -y install samba samba-common
(3)创建samba共享目录
sudo mkdir /home/share
sudo chmod 755 /home/share
(4)共享目录中创建几个测试文件
sudo mkdir /home/share/test
sudo touch /home/share/123.txt
(5)修改samba配置文件

备份配置文件

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_bak

修改smb配置文件

sudo vim /etc/samba/smb.conf

在“max log size = 1000”行下新增行:

security = user

切换到文件末尾

#此处home 为windows 访问时显示的目录名,可为任一名字
[share] 
#共享哪个目录路径
path=/home/share
available = yes
#是/否 在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取
browseable = yes
#是/否 公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)
public = yes
#是/否 不以只读方式共享当与read only发生冲突时,无视read only     
writable = yes
#设定只有此名单内的用户才能访问共享资源(拒绝优先)(用户名/@组名   
valid users = osho
#定存取资源时须以此设定的使用者进入才能存取(用户名/@组名)
force user = osho
#指定存取资源时须以此设定的群组使用者进入才能存取(用户名/@组名)
force group = osho   
#建立文件时所给的权限
create mask = 0777
#建立目录时所给的权限
directory mask = 0777
#指定字符编码防止出现中文目录乱码的情况
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936

(6)创建samba用户:

sudo useradd osho

(7)设置用户密码:

sudo smbpasswd -a osho

(8)重启samba服务:

sudo systemctl restart smbd.service

(9)确认samba服务状态:

sudo systemctl status smbd.service

4.1 windows访问samba

(1)开启samba服务支持

在windows上需要启用samba协议支持,win10上默认没有开启需要手动开启,【控制面板 -> 程序 -> 程序和功能 -> 启用或关闭 Windows 功能 -> SMB 1.0/CIFS 文件共享支持

在这里插入图片描述

(2)启用不安全的来宾登录

Win + R 快捷键打开运行界面 ,输入gpedit.msc 打开本地组策略编辑器。

本地组策略编辑器 -> 计算机配置 -> 管理模板 -> 网络 -> Lanman工作站 -> 启用不安全的来宾登录
在这里插入图片描述

(3)访问samba的共享文件夹

1、开始–运行–\sambaIP
2、输入用户名/密码

(4)映射网络驱动器

在我的此电脑资源管理器中,右键菜单中点击映射一个网络位置,输入samba服务器的ip和共享的名称,即可映射一个网络位置方便快速访问共享。

在这里插入图片描述

5.xrdp服务配置

5.1 安装xrdp软件

(1)查询xrdp是否安装
sudo dpkg -l | grep xrdp
(2)安装xrdp软件
sudo apt-get install xrdp

5.2 远程控制软件的选择

目前Linux上有两种常用的远程控制工具VNC和xrdp,从目前使用的情况来看,在银河麒麟上使用xrdp进行远程控制显示效果和响应速度比VNC更好,在UOS上使用xrdp比较卡没有VNC流畅,所以不同的系统可以选择不同的远程控制工具,使用xrdp协议可以使用windows自带的远程连接工具比较方便,使用VNC进行远程控制需要单独安装VNC的客户端工具。

6.gcc编译器安装

6.1 银河麒麟编译器安装

银河麒麟v10 sp1以上版本默认已经安装了gcc和g++编译器,默认的版本为9.3.0,不需要手动安装

6.2 UOS系统编译器安装

统信UOS专业版系统目前只默认安装了gcc,默认版本为8.3.0,g++编译器需要自己手动安装。

(1)更新软件源

安装完UOS系统后,第一步首先需要更新软件源,否则安装g++会报错安装不上

sudo apt-get update

源更新完成以后,安装g++编译器

sudo apt-get install g++

7.cmake编译工具安装

目前通过cmake 组织的开源C++库非常多,从源码编译构建第三方库,cmake工具是必不可少的,所以建议一并装上。

sudo apt-get install cmake

8.安装常用命令

8.1 patchelf命令

patchelf 是一个在 Linux 系统下用于修改 ELF 格式文件的动态链接库(.so 文件)和可执行文件的命令行工具。它能够改变动态库的 RPATH 或 RUNPATH 值,这些值指定了链接器在运行时搜索共享库的路径。除此之外,patchelf 还可以修改动态库的SONAME(软链接名),即库在系统中的名称,以及替换动态链接库中需要的其他库。

8.2 dos2unix命令

dos2unix 是一个用于转换文本文件格式的小型工具,它能够将 Windows 格式的文本文件转换为 Unix/Linux 格式的文本文件。这个转换过程主要是针对文件中的换行进行处理。这对于处理shell脚本文件因为格式问题不能执行的问题,用起来很方便。

9.安装QT的开发环境

QT官方提供了windows和Linux-x86两个版本的安装包,但是QT5没有提供ARM架构下的安装包,只能通过源码自己编译。

9.1 安装QT5.9.7的开发环境

9.1.1 x86系统架构安装

通过qt-opensource-linux-x64-5.9.7.run直接安装即可。

9.1.2 ARM系统架构安装
  • 安装QT编译依赖
#!/bin/bash

#编译essentials
sudo apt-get install -y build-essential perl python3 git

#安装libxcb依赖
sudo apt-get install -y '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev

#安装Qt Webkit依赖
sudo apt-get install -y flex bison gperf libicu-dev libxslt-dev ruby

#安装Qt WebEngine依赖
sudo apt-get install -y libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libxtst-dev libxss-dev libdbus-1-dev libevent-dev libfontconfig1-dev libcap-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libegl1-mesa-dev gperf bison nodejs

#安装Multimedia模块依赖
sudo apt-get install -y libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev

#安装QDoc依赖生成工具依赖
sudo apt install -y clang libclang-dev

#安装OpenGL ES 2依赖
sudo apt-get install -y libgles2-mesa
sudo apt-get install -y libgles2-mesa-dev
  • 编译QT源码
#配置命令参数
./configure -opensource -confirm-license -release -prefix /opt/qt5.9.7 -force-debug-info -skip qtlocation -skip qtvirtualkeyboard -no-opengl -shared -qt-xcb -sqlite -qt-libpng -qt-libjpeg -system-freetype -fontconfig

#编译qt5
make -j4

#安装qt5
make install

#清理临时文件
make clean

9.2 安装QT5.15.11的开发环境

9.2.1 x86系统架构安装

目前x86-linux架构下官方提供的安装包最高版本只有QT5.14.2的版本,更高版本只能通过源码自行构建。

  • 安装QT编译依赖

    (1)安装Qt所需的依赖:
    sudo apt install build-essential libgl1-mesa-dev libxkbcommon-dev libnss3-dev libdbus-1-dev gperf flex bison libxkbfile-dev
    
    (2)安装xcb相关:
    sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev 
    
    (3)安装Qt Webkit相关依赖:
    sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby
    
    (4)安装Qt WebEngine依赖
    sudo apt install libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libxtst-dev libxss-dev libdbus-1-dev libevent-dev libfontconfig1-dev libcap-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libegl1-mesa-dev gperf bison nodejs
    
    (5)安装Qt Multimedia依赖:
    sudo apt-get install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
    
    (6)安装QDoc相关依赖:
    sudo apt-get install libclang-6.0-dev llvm-6.0
    
    (7)安装clang编译器:
    sudo apt-get install clang
    
    (8)安装 ninja
    # 安装 ninja 依赖
    sudo apt-get install re2c
    # 编译 ninja
    cd qt-everywhere-src-5.15.11/qtwebengine/src/3rdparty/ninja
    ./configure.py --bootstrap
    # 安装 ninja
    sudo cp ./ninja /usr/bin
    #检查安装的ninja是否成功
    ninja --version
    
  • 编译QT源码

    ./configure -prefix /opt/qt5.15.11 -opensource -release -confirm-license -platform linux-clang -shared -qt-doubleconversion -qt-pcre -qt-zlib -system-freetype -fontconfig -qt-harfbuzz -qt-libpng -qt-libjpeg -qt-sqlite -qt-assimp -qt-tiff  -xcb -opengl -openssl-runtime OPENSSL_LIBS='-L/home/osho/openssl/lib -lssl -lcrypto' -recheck-all
    
9.2.2 ARM系统架构安装

​ 编译安装和x86系统一样,但是不同系统依赖略微有差别,需要根据实际情况进行分析。

9.3 安装Qt Creator开发IDE

9.3.1 通过软件商店进行安装

银河麒麟和UOS系统大部分情况下都可以通过软件商店进行安装,对于个别版本通过软件商店进行安装会提示依赖缺少导致无法安装的只能通过源码进行构建安装。

9.3.2 通过源码构建安装
cd qt-creator-opensource-src
cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/home/leo/Qt -DCMAKE_INSTALL_PREFIX=/home/software/QtCreator
cmake --build build --target=install

10.QT编译环境的选择

x86或者ARM在搭配不同系统时,要选择低版本gcc的系统作为编译出包环境,这样可以实现多系统兼容,否则会出现glibc库不匹配的问题,导致软件无法运行,对于QT5.15.11的版本最少要选择gcc 7.0以上的版本进行编译。

  • 15
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
搭建ARM Qt开发环境需要进行以下步骤: 1. 下载交叉编译工具链:首先需要下载适用于ARM架构的交叉编译工具链,可以到官方网站或者第三方资源网站上下载。下载完成后,解压到指定目录。 2. 安装Qt开发环境:在官方网站上下载适用于ARM架构Qt开发环境,可以选择Qt Creator作为集成开发环境。下载完成后,按照安装向导进行安装。 3. 配置交叉编译工具链:在Qt Creator中,打开“工具”菜单下的“选项”,进入“设备”标签。选择“添加”按钮,然后选择“Generic Linux Device”选项。在弹出的对话框中,填写设备的名称、类型和IP地址等信息。在“构建和运行”选项卡下,选择“Desktop Qt <version> GCC <compiler>”作为构建套件,并在“配置文件”选项卡下选择“Manual”模式。然后在“代码样式”选项卡下,选择“使用配置”。 4. 配置编译器和调试器:在菜单的“工具”选项中选择“选项”,进入“构建和运行”选项卡。选择“工具链”标签,然后选择“GCC”编译器和GDB调试器。点击“应用”按钮保存设置。 5. 创建Qt项目:在Qt Creator中,选择“文件”菜单下的“新建文件或项目”,选择“Qt Widgets 应用程序”作为项目模板。设置项目名称和路径,并选择目标设备上使用的Qt版本。点击“下一步”按钮并按照向导完成项目设置。 6. 构建和调试项目:在Qt Creator中,选择“构建”菜单下的“构建项目”来编译项目。然后选择“调试”菜单下的“开始调试”以运行项目。 通过以上步骤,您就可以成功搭建ARM Qt开发环境,并利用Qt Creator进行应用程序开发了。当然,具体的步骤可能会因为使用的工具、设备和版本等因素而有所不同,您可以根据实际情况进行相应的调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奥修的灵魂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值