当前位置: 首页 > news >正文

社区版Uos20.9从源码编译QT5.15.2

主要是在这个文章上学的究极保姆式教你如何在Ubuntu上源码安装Qt5.15.2_ubuntu安装qt5.15.2-CSDN博客

但原文上在环境变量的配置上真用在 uso上好像不行,要加一些引号和$号。原文的测试编译代码也有些问题,include上少了类。略作修改,在UOS社区版20.9上成功执行

安装依赖

sudo apt-get install gcc
sudo apt-get install gedit
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install gperf
sudo apt-get install libxcb*
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libegl1-mesa-dev
sudo apt-get install freeglut3-dev
sudo apt-get install libxkbcommon-x11-dev
sudo apt-get install libxkbcommon-dev
sudo apt-get install libxrender-dev
sudo apt-get install libx11-dev
sudo apt-get install libx11-xcb-dev

配置编译参数

  1. 切换到已解压的源码目录目录:cd qt-everywhere-src-5.15.2

  2. 配置信息: ./configure -xcb -prefix /data/Qt-5.15.2(后面一定要注意加后缀xcb,默认是安装到/usr/local/下,也可以通过-prefix指定安装位置)

  3. 配置提示第一个输入O

  4. 配置提示第二个输入y (如果配置出错,根据提示安装依赖,安装完依赖后一定要记得清除掉缓存再重新配置rm -rf config.cache之后再./configure -xcb)

编译和安装

  1. make -j 8(编译很慢,基本要在两个小时左右,根据电脑性能来定,有个可能花一天时间编译)

  2. 编译完成后安装sudo make install

配置环境变量

export QTDIR="/data/Qt-5.15.2"
export PATH="$QTDIR/bin:$PATH"
export MANPATH="$QTDIR/man:$MANPATH"
export LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
export QT_SELECT="qt-5.15.2"
测试QT是否可以正常编译程序

在HelloQT文件夹建立以下helloQT.CPP

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    // 创建 QApplication 对象
    QApplication app(argc, argv);

    // 创建一个简单的标签控件
    QLabel label("Hello, Qt!");
    label.resize(200,200);
    // 显示标签
    label.show();

    // 进入应用程序的事件循环
    return app.exec();
}

编译

qmake -project QT+=widgets    #会生成一个以目录名一样的project
qmake HelloQT.pro             #编译这个Project
make                          #生成可执行文件
./HelloQT                     #运行这个文件 

  运行后界面如下:

相关文章:

  • 阿里云企业邮箱出现故障怎么处理?
  • 算法日记40:最长上升子序列LIS(单调栈优化)n*log^n
  • 如何通过Odoo 18采购模块优化管理供应商价格表
  • [CISCN 2022 初赛]ezpop(没成功复现)
  • Java多线程与高并发专题——原子类和 volatile、synchronized 有什么异同?
  • Mac中nvm切换node版本失败,关闭终端再次打开还是之前的node
  • Protobuf 学习与实践
  • JVM--垃圾回收
  • 网络空间安全(32)Kali MSF基本介绍
  • 【DevOps】 基于数据驱动的Azure DevOps案例实现
  • VS2019下载链接
  • C++的名称空间
  • C# 异步编程
  • RAG技术深度解析:从原理到企业级应用实战
  • 串排序(信息学奥赛一本通-2048)
  • TMS320F28P550SJ9学习笔记12:简单的Modbus协议
  • 如何将一个盘做成 lvm 盘并挂载
  • LeetCode --- 440周赛
  • HarmonyOS第24天:鸿蒙应用安全秘籍:如何为用户数据筑牢防线?
  • YOLOE:实时查看任何事物
  • 欧阳娜娜等20多名艺人被台当局列入重要查核对象,国台办回应
  • 中国预警机雷达有多强?可数百公里外看清足球轨迹
  • 优质文化资源下基层,上海各区优秀群文团队“文化走亲”
  • 远洋渔船上的命案
  • 从《缶翁的世界》看吴昌硕等湖州籍书画家对海派的影响
  • 上海:到2027年,实现近海航线及重点海域5G网络高质量覆盖