Ubuntu 18.04安装QtCreator+配置qt环境+qtchooser

2023-10-27

前言

写这个博客的时候,我用了一段时间的QtCreator,感觉良好,足以说是一个很好的C++的IDE了,但是说实话对于qt这个东西确实没有什么了解(到现在依然是),只知道qt框架适合写GUI页面,可以用C++开发比较好看的图形化程序.现在也在慢慢学习当中,今天先随便写一个qt环境的搭建吧.

安装&&配置

安装QtCreator

建议使用qt联机安装器,获取完之后进入下载文件夹,赋予可执行权限,并开始安装:

cd 下载
chmod a+x qt-unified-linux-x64-3.0.6-online.run 
./qt-unified-linux-x64-3.0.6-online.run 

至少选择一个版本的qt和一个QtCreator,等待安装结束即可.

配置Qt环境变量

对于qt5以下版本,需要配置环境变量.

nano .profile

使用任意编辑器均可,在末尾添加如下几行,保存退出(QTDIR为Qt的安装目录):

# set PATH to QT
export QTDIR=/usr/local/Trolltech/Qt-4.7.0/
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/doc/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

注销后重新登录,使用qmake -v,可以查看当前Qt版本.这里以qt4举例,qt5的配置请往后看.

qtchooser

前面说了,qt5以下需要配置环境变量,qt5其实也可以配环境变量使用,但只用配置QTDIR和LD_LIBRARY_PATH,并且目录结构不同于qt4,具体方法下面说,也可参照官方建议.但推荐用另一种方法更方便,而且还能兼容qt4,该方法就是使用qtchooser工具.

  • qt5的环境变量:
export QTDIR=/home/yjzzjy4/Qt/5.12.0/gcc_64
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

什么是qtchooser

qtchooser其实和jdk版本管理软件一样,是一个qt版本管理软件.用于设置安装多个qt的系统中默认使用的qt版本.我们知道环境变量有一个缺陷:一次只支持一个版本的qt,有的应用可能只兼容低版本qt,这样又要配置环境变量非常麻烦.使用qtchooser方便快速切换qt版本而又不用每次重新配置环境变量

方法1

我们只需要在它的配置目录里将默认配置文件修改即可:

cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser
sudo nano default.conf

不出意外,会看到如下信息:

/usr/lib/x86_64-linux-gnu/qt4/bin
/usr/lib/x86_64-linux-gnu

清空文件内容,将其替换为你的qt安装路径即可,如:

/home/yjzzjy4/Qt/5.12.0/gcc_64/bin

这样就可以了,qmake -v输出如下:

QMake version 3.1
Using Qt version 5.12.0 in /home/yjzzjy4/Qt/5.12.0/gcc_64/lib

方法2

可以使用命令直接导入qt安装位置,从而切换到新安装的qt,首先查看qtchooser的帮助:

qtchooser --help
Usage:
  qtchooser { -l | -list-versions | -print-env }
  qtchooser -install [-f] [-local] <name> <path-to-qmake>
  qtchooser -run-tool=<tool name> [-qt=<Qt version>] [program arguments]
  <executable name> [-qt=<Qt version>] [program arguments]

Environment variables accepted:
 QTCHOOSER_RUNTOOL  name of the tool to be run (same as the -run-tool argument)
 QT_SELECT          version of Qt to be run (same as the -qt argument)

可以看到,qtchooser支持安装(其实就是本地导入)qt版本,使用-install参数,如下例:

sudo qtchooser -install Qt5.12.0 /home/yjzzjy4/Qt/5.12.0/gcc_64/bin/qmake

注意目录一定要精确到qmake这个程序,然后用qtchooser -l查看当前系统所有的qt版本,得到如下输出:

4
5
Qt5.12.0
default
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5

可以看到我们自己新安装并命名的Qt5.12.0已经导入了,接下来就是设定默认qt版本了,按照qtchooser使用提示,可以添加一个名为QT_SELECT的环境变量,来选择默认qt版本:

export QT_SELECT=Qt5.12.0

可以看出这个环境变量后面的值跟的是系统已安装的qt的名称,这些名称可以用qtchooser -l查看.

这样就安装并且设定好了自定义qt版本,使用qmake -v查看,结果和上面一致:

QMake version 3.1
Using Qt version 5.12.0 in /home/yjzzjy4/Qt/5.12.0/gcc_64/lib

注意:

  • export命令只在当前终端有效,若想永久生效需要修改~/.profile并注销重新登录系统
  • export的特点使得特定环境下切换qt版本非常灵活,且退出终端后不影响系统默认qt版本
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu 18.04安装QtCreator+配置qt环境+qtchooser 的相关文章

随机推荐

  • .NET Desktop程序员:互联网大环境下软件生产力的创造者

    目录 引言 桌面软件如何适配今天的互联网 让 NET桌面软件工程拥有互联网基因 WebRuntime是什么 具体案例 让应用适配不同的应用场景 基于应用的Web页面 Cloud WinForm 强大的Web生产力 总结 引言 对每个 NET
  • 征服数据宇宙,新华三存储护卫队早有准备?

    999 往期 精 选
  • 【C++】STL—— unordered_map的介绍和使用、 unordered_map的构造函数和迭代器、 unordered_map的增删查改函数

    文章目录 1 unordered map的介绍 2 unordered map的使用 2 1unordered map的构造函数 2 2unordered map的迭代器 2 3unordered map的容量和访问函数 2 4unorde
  • 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

    程序分析 用情况语句比较好 如果第一个字母一样 则判断用情况语句或if语句判断第二个字母 Monday Tuesday Wednesday Thursday Friday Saturday Sunday T 2 S 2 public cla
  • 计算机刚开始学什么时候,新手如何开始学电脑 新手学电脑从何入门

    虽然现在手机已经占据了互联网的半壁江山 但是生活中免不了需要接触电脑 用U盘拷贝份文件 用打印机打印份文档 在电脑上下载一首歌 电影 图片等 都离不开电脑 很多人觉得电脑跟自己无关 也许当你需要用的时候 才会觉得 书到用时方恨少 那么对于一
  • U-Boot 图形化配置及其原理

    目录 U Boot 图形化配置体验 如何使能dns 命令 menuconfig 图形化配置原理 make menuconfig 过程分析 Kconfig 语法简介 1 mainmenu 2 调用其他目录下的Kconfig 文件 3 menu
  • TypeError: buildURL is not a function

    报错图 uni app 使用axios发请求 运行到微信开发者工具报错 使用了网络上axios适配器方案 没有效果 问题没有解决 请求没发出去 这个问题已经解决uni app和微信开发者工具兼容axios 主页文章有仔细查看
  • java中的注释及其快捷键

    1 单行注释 快捷键 Ctrl 再次点击取消注释 2 多行注释 快捷键 Ctrl Shift 要取消注释只能手动删除 3 文档注释 内容 内容 内容 作用 为类或方法添加说明 快捷键 enter
  • sigmod 函数与softmax 函数对比

    sigmod 函数与softmax 函数之间既有类似 又有差异 是两种典型的深度神经网络的activation functions 通俗而言 sigmod 函数常用于二分类 softmax 函数常用于多分类 两者都起到了压缩的作用 sigm
  • 基于JAVA Seleium 的自动化测试

    目录 1 什么是Seleium 2 Selenium环境引入 3 selenium基本使用 4 框架优化 5 元素其他操作 6 关于获取不到元素 1 什么是Seleium Selenium是一个用于Web应用程序测试的工具 Selenium
  • Week5_Test2

    package JAVA API Test import com sun xml internal ws api model wsdl WSDLOutput import java io import java util Arrays au
  • django官网网址

    django官网网址 https www djangoproject com start overview https docs djangoproject com en dev ref models querysets django db
  • STC89C52原理

    STC89C52单片机介绍 STC89C52RC是STC公司生产的一种低功耗 高性能CMOS8位微控制器 具有8K字节系统可编程Flash存储器 STC89C52使用经典的MCS 51内核 标准功能 具有以下标准功能 8k字节Flash 5
  • c#的二进制序列化组件MessagePack介绍

    c 的序列化有多种 我一般喜欢用第三方组件 一个公共组件要拿出来用 而且支持很多语言 甚至以此谋生 肯定有其优势 有或者说存在必然有其合理性 经过几年开发 我更加喜欢第三方的东西 类似序列化的东西 开篇总是牢骚 大家要习惯哈 最近在写一个小
  • OpenWrt路由器——基础网络配置

    OpenWrt 路由器基础配置 基础配置方法 OpenWrt设置方法图解 WAN口配置 需要注意的是WAN口可以按默认协议配置DHCP客户端即可 若重启后发现网络无法正常上网 在WAN口选择桥接模式 即可解决问题 无线配置 可能会出现某个W
  • 高德地图 动态绘制多个路线轨迹

    最近在用高德地图的API 顺便记录下 平时我们只是通过如下代码 给path一串经纬度数组 静态绘制修改路径 但怎么才能通过接收数据 例如Json数据 来动态绘制 多个路径呢 这里有两种方法 设置数据 pathSimplifierIns se
  • 第七章 Logstash深入-收集java日志

    通过Logstash收集java日志并输出到ES中 因为我们现在需要用Logstash收集tomcat日志 所以我们暂时将tomcat安装到Logstash所在机器 也就是db03 10 0 0 53这台机器 收集tomcat访问日志以及t
  • 讲讲如何写论文和发论文(通信类)

    发信人 AWESOME Slavery in Town 信区 GoAbroad 标 题 讲讲如何写论文和发论文 发信站 北邮人论坛 Sun Feb 15 21 22 15 2009 站内 有几个同学发站内信问我如何在本科和硕士期间写论文 发
  • pytest多进程/多线程执行测试用例

    前言 实际项目中的用例数量会非常多 几百上千 如果采用单进程串行执行的话会非常耗费时间 假设每条用例耗时2s 1000条就需要2000s approx 33min 还要加上用例加载 测试前 后置套件等耗时 导致测试执行效率会相对低 想象一下
  • Ubuntu 18.04安装QtCreator+配置qt环境+qtchooser

    文章目录 前言 安装 配置 安装QtCreator 配置Qt环境变量 qtchooser 什么是qtchooser 方法1 方法2 前言 写这个博客的时候 我用了一段时间的QtCreator 感觉良好 足以说是一个很好的C 的IDE了 但是