Ubuntu从零开始搭建qt开发环境

Ubuntu从零开始搭建qt开发环境

系统设置

因为本人之前安装的系统没有做好分区,所以导致系统经常用着用着就磁盘爆满,特此写下这篇笔记,记录我系统重装系统、搭建环境的全过程。

我的电脑系统三256GB固态+1TB机械硬盘。

  • 我将256GB平均分成2个区域N1和N2,N1用来安装Win11,N2用来安装Ubuntu22。
  • 我再将1TB机械硬盘分成3个区域:500GB的NTFS格式N3、300GB的ext4格式为N4、剩下200GB也是ext4格式为N5。

Win11就是正常安装在N1上,并将剩下的机械硬盘分出N3给Win11系统使用。

Ubuntu22安装的时候挂载设置如下:

  1. 将根目录/挂载到N2上,这样系统的启动速度就会变快。
  2. /home挂载到N4上,因为我喜欢将文档、资料、视频、图片等都放在这个目录下。
  3. /opt/挂载到N5上,这样安装的软件就可以很多。

软件安装

Typora:笔记软件,安装0.11.18版本,此版本为最后一个Typora免费版,参考:https://zahui.fan/posts/64b52e0d/。

SQLiteStudio:数据软件,用来打开和编辑sqlite数据库文件的工具。

微信:到目前为止微信只发布了优麒麟版本,所以安装这个版本准没错,参考:https://www.ubuntukylin.com/applications/119-cn.html。

  1. 下载Wine环境包。

  2. 下载微信(wine)包。

  3. 终端输入:

    sudo apt-get install -f -y ./ukylin-wine_70.6.3.25_amd64.deb
    sudo apt-get install -f -y ./ukylin-wechat_3.0.0_amd64.deb
    

    注意:优麒麟也提供了一个之间安装的微信,是2.1.1版本的。建议用ukylin-wechat这个安装是3.2.1 版本。

网络代理设置

  1. 下载Clash for Windows-0.20.25-x64-linux整合包,运行cfw程序,并导入节点信息。
  2. 网络代理设置手动,HTTP Proxy127.0.0.1:7890,HTTPS Proxy127.0.0.1:7890

谷歌浏览器:官网下载

比较工具

  • meld

    sudo apt-get install meld
    

SMB服务器:用于不同类型操作系统之间进行文件共享

  1. 安装程序

    sudo apt-get install samba-client
    
  2. 创建挂载目录,并挂载

    mkdir -p /home/sjl/smb
    sudo mount -t cifs -o username=smb,password=smb@666 //192.168.3.168/share /home/sjl/smb
    
  3. 设置成开机挂载,在/etc/fstab中添加挂载命令。

    //192.168.3.168/share /home/sjl/smb cifs defaults,username=smb,password=smb@666
    

中文输入法的安装

  1. 安装Fcitx5主程序

    sudo apt install fcitx5 
    # 简体中文拼音
    sudo apt install fcitx5-chinese-addons 
    # 为fcitx5输入法提供GTK4 3 2 IM模块。
    sudo apt install fcitx5-frontend-gtk4 
    sudo apt install fcitx5-frontend-gtk3 
    sudo apt install fcitx5-frontend-gtk2 
    # 为fcitx5输入法提供Qt5 IM模块。
    sudo apt install fcitx5-frontend-qt5
    sudo apt install kde-config-fcitx5
    sudo apt install fcitx5-pinyin
    # 谷歌输入法(安装后需要设置一下)
    sudo apt-get install fcitx-googlepinyin
    
  2. 安装词库

    下载最新版的 .dict 文件,将其复制到 ~/.local/share/fcitx5/pinyin/dictionaries/ 文件夹下即可

    https://github.com/felixonmars/fcitx5-pinyin-zhwiki/releases
    
  3. 配置

    使用 im-config 工具可以配置首选输入法,根据弹出窗口的提示,将首选输入法设置为 Fcitx 5 即可。

    im-config
    

    环境变量配置,写入/etc/profile对全部用户生效,写入~/.bash_profile对当前用户生效

    export XMODIFIERS=@im=fcitx
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    

    设置开机自启动,在 Tweaks(sudo apt install gnome-tweaks)中将 Fcitx 5 添加到「开机启动程序」列表中即可。中文版中此应用叫做优化。

  4. Fcitx配置

    Fcitx 5 提供了一个基于 Qt 的强大易用的 GUI 配置工具,可以对输入法功能进行配置。有多种启动该配置工具的方法:

    1. 在应用程序列表中打开「Fcitx 配置」
    2. 在 Fcitx 托盘上右键打开「设置」
    3. 命令行命令 fcitx5-configtool

    根据个人偏好进行设置即可。需要注意的是「输入法」标签页下,应将「键盘 - 英语」放在首位,拼音(或其他中文输入法)放在后面的位置。

  5. QtCreator无法输入中文问题解决

    1. 前置安装

      # 安装git
      sudo apt install git
      # 安装fcitx开发库
      sudo apt install fcitx-libs-dev
      # ECM问题
      sudo apt install extra-cmake-modules 
      # XKBCommon_LIBRARIES XKBCommon
      sudo apt install libxkbcommon-dev 
      # Parse error at “IID”
      sudo apt install qtbase5-private-dev
      
    2. 配置环境变量

      export PATH="/opt/Qt/Tools/CMake/bin":$PATH
      export PATH="/opt/Qt/6.5.3/gcc_64/bin/":$PATH
      
    3. 获取fitx-qt5源码

      git clone https://github.com/fcitx/fcitx-qt5
      
    4. 更改CMakeLists.txt文件

      option(ENABLE_QT5 "Enable Qt5" Off)
      option(ENABLE_QT6 "Enable Qt6 im module" On)
      
    5. 编译,这里注意一定要用gcc11编译!

      mkdir build && cd build
      cmake .. -DCMAKE_PREFIX_PATH=/opt/Qt/6.5.3/gcc_64 -DENABLE_QT4=Off
      make -j12
      
    6. 编译好的libfcitxplatforminputcontextplugin-qt6.so动态库在fcitx-qt5/build/qt6/platforminputcontext/目录下,将编译好的动态库拷贝到如下两个目录下,重启Qt即可输入中文。想要编译的可执行程序输入中文在打包时还需要附带这个动态库。此动态库同样支持fcitx5。

      //请根据自己的安装路径进行调整
      /opt/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
      

设置开机程序自启

  1. 搜索启动应用程序并打开。
  2. 点击“添加”按钮,输入要启动的应用程序的名称和命令,然后点击“添加”按钮。
  3. 重新启动 Ubuntu。

开发环境搭建

0.版本说明

操作系统:Ubuntu22.04LST 64位

Qt版本:qt-4.8.7

Qt下载器版本:qt-unified-linux-x64-4.7.0-online.run

ARM编译器:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi

1.安装Qt Creator

打开qt官方下载地址:https://download.qt.io/,找到自己版本的qt在线安装器archive/online_installers/4.7/...

下载Qt的下载器,并运行,我根据自己项目的情况选择安装了如下的组件。

在这里插入图片描述

2.安装代码格式化工具

作用:代码格式化工具可以快速的将代码整理成规范的格式,让开发者专注于业务逻辑的实现,提高开发效率。

我这里使用的是clang-format

  1. 安装,执行如下命令

    sudo apt install clang-format
    
  2. 打开代码格式美化工具选项,依次:help -> About Plugins -> Beautifier打勾。

  3. 将美化工具设置进QtCreator中:Tools -> Options -> Beautifier -> Clang Format选择路径/usr/bin/clang-format

3.配置QT工具和库

前提条件,准备好相关库和源代码,将imx6.zip和ubuntu20.zip解压到/opt目录下

3.1 共享库环境配置

前置知识

  1. PATH:用来指定可执行文件的搜索路径的环境变量。当你在终端中输入一个命令时,操作系统会在 PATH 中列出的路径中查找该命令对应的可执行文件。
  2. LD_LIBRARY_PATH:用来指定动态链接库(共享库)的搜索路径的环境变量。当一个可执行文件需要依赖于某个共享库时,操作系统会在 LD_LIBRARY_PATH 中列出的路径中查找该共享库。

在文件etc/profile添加下面一句代码

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:[其他目录]
3.2 配置编译套件

配置Arm编译套件,PC编译套件同理

  1. 打开qt creator,依次点击工具 -> 外部 -> 配置 -> 构建套件
  2. Qt版本:添加qt4.8.7-arm和qt4.8.7-pc版本。
  3. 构建套件:添加新套件,编译器选择ARM版,Qt版本也选择ARM版。
3.3 配置Git免密克隆
  1. 本地配置

    git config --global user.name  "[输入你的用户名]"
    git config --global user.email "[输入你的邮箱]"
    
    # 查看是否配置成功
    git config --global --list
    
  2. 生成密钥

    # 生成ssh rsa密钥
    cd ~/.ssh
    ssh-keygen -t rsa -C "[你的邮箱]"
    
  3. 将密钥设置到git服务器中

    依次点击:头像 -> 个人资料 -> SSH密钥

    # 查看密钥
    vim ~/.ssh/id_rsa.pub
    
    # 将密钥添加到Git服务器上
    

4 网络挂载

4.1 安装nfs服务器
  1. 主机上安装NFS服务端

    sudo apt-get install nfs-kernel-server
    
  2. 创建一个目录作为挂载点

    mkdir -p /forlinux/autobio
    sudo chmod -R 777 /forlinux
    
  3. 在文件/etc/exports加入一行

    # "/forlinux"是要共享的目录,“ * ”意思是所有人都能挂载
    /forlinux *(rw,sync,no_root_squash)
    
  4. 将根文件系统rootfsrootfs.qt4.tar.bz2解压到此目录下。

  5. 设置此文件系统的权限

    #sjl为当前用户
    sudo chown sjl:sjl /forlinux/autobio -R
    
4.2 串口调试工具
  1. 安装串口调试工具

    sudo apt-get install picocom
    
  2. 打开串口

    sudo picocom -b 115200 /dev/ttyUSB0
    
4.3 客户机挂载

在uboot的时候输入挂载指令

# nfs挂载
setenv ipaddr 192.168.3.54;setenv serverip 192.168.3.57;setenv nandargs setenv bootargs console=ttymxc0,115200 cma=64M root=/dev/nfs rw ip=192.168.3.54:192.168.3.57:192.168.3.1:255.255.255.0::eth0:off nfsroot=192.168.3.57:/forlinux/autobio,v3,tcp rootfstype=yaffs2,calibrate=${calibrate};saveenv;boot

取消挂载指令

# 取消nfs挂载
setenv nandargs setenv bootargs console=ttymxc0,115200 cma=64M root=/dev/mtdblock5 rootfstype=yaffs2,calibrate=${calibrate};saveenv;boot

FQA

第一次启动Qt Creator无法运行并弹出如下错误。

Could not load the Qt platform plugin “xcb” in “” even though it was found.

在这里插入图片描述

解决方法:因为缺少动态库,只需以此执行以下命令

sudo apt-get install xbc
sudo apt-get install libxbc-cursor0

QT启动时提示MaintenanceTool无法被执行

插件初始化失败: The maintenance tool at “/opt/Qt/MaintenanceTool” is not an executable. Check your installation.

在这里插入图片描述

解决方法:进入QtCreator的配置文件,更改配置文件

vim /opt/Qt/Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值