Ubuntu安装qt5_qt5安装教程

Ubuntu安装qt5_qt5安装教程最近打算学一下QT应用程序开发,所以打算装一个QT桌面环境QtCreator,捣鼓了一阵,把电脑弄坏重装系统之后,终于安装好了,这里分享一下安装的过程

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

前言

最近打算学一下QT应用程序开发,所以打算装一个QT桌面环境QtCreator,捣鼓了一阵,把电脑弄坏重装系统之后,终于安装好了,这里分享一下安装的过程

1. QT5安装

环境

Ubuntu14.04
QT5.12.3

首先去QT安装包下载安装包,我这里选择的是目前最新的QT5.12.3
QT安装包
下载好之后赋予可执行权限

chmod +x qt-opensource-linux-x64-5.12.3.run

然后执行安装命令

sudo ./qt-opensource-linux-x64-5.12.3.run

然后一直点下一步或者跳过就好了,安装路径我也是默认的
QT安装路径
等待安装完成

2. 路径配置

安装完成之后,需要修改default.conf,执行

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

将第一行改为自己安装路径下的bin目录的路径,第二行改为Qt5.12.3目录的路径,下面是我的配置

/opt/Qt5.12.3/5.12.3/gcc_64/bin
/opt/Qt5.12.3/

3. 运行问题

3.1 FT_Get_Font_Format

运行qtcreator,然后报错undefined symbol: FT_Get_Font_Format

anruliu@anruliu:/opt/Qt5.12.3/Tools/QtCreator/bin$ ./qtcreator
./qtcreator: symbol lookup error: /opt/Qt5.12.3/Tools/QtCreator/lib/Qt/plugins/platforms/../../lib/libQt5XcbQpa.so.5: undefined symbol: FT_Get_Font_Format

需要下载安装freetype-2.10.0,解压之后执行

cd freetype-2.10.0
./configure --prefix=/opt/Qt5.12.3/Tools/QtCreator/lib/Qt/
make
cd ./objs/.libs
sudo cp libfreetype.so /opt/Qt5.12.3/Tools/QtCreator/lib/Qt/lib
sudo cp libfreetype.so.6 /opt/Qt5.12.3/Tools/QtCreator/lib/Qt/lib
sudo cp libfreetype.so.6.17.0 /opt/Qt5.12.3/Tools/QtCreator/lib/Qt/lib

其中/opt/Qt5.12.3/就是安装QT的目录

3.2 LIBDBUS_1_3 not defined

再次运行qtcreator,然后报错version LIBDBUS_1_3 not defined

anruliu@anruliu:/opt/Qt5.12.3/Tools/QtCreator/bin$ ./qtcreator
./qtcreator: relocation error: /opt/Qt5.12.3/Tools/QtCreator/lib/Qt/plugins/platforms/../../lib/libQt5DBus.so.5: symbol dbus_message_get_allow_interactive_authorization, version LIBDBUS_1_3 not defined in file libdbus-1.so.3 with link time reference

需要下载安装dbus-1.13.10,解压之后执行

cd dbus-1.13.10
./configure --prefix=/opt/Qt5.12.3/Tools/QtCreator/lib/Qt/
make
cd ./dbus/.libs
sudo cp libdbus-1.so /opt/Qt5.12.3/Tools/QtCreator/lib/Qt/lib
sudo cp libdbus-1.so.3 /opt/Qt5.12.3/Tools/QtCreator/lib/Qt/lib
sudo cp libdbus-1.so.3.26.0 /opt/Qt5.12.3/Tools/QtCreator/lib/Qt/lib

其中/opt/Qt5.12.3/就是安装QT的目录
把缺失的库直接拷贝到qtcreator的lib的路径下,可以让qtcreator找到它自己需要依赖的库,不会对系统本身造成影响,不然可能会导致桌面起不来,然后得重装系统

所有问题解决后,运行qtcreator,就可以看到界面,可以尽情的开发了
qtcreator运行效果

4. 编译应用问题

在示例中选择一个demo进行编译,比如我选的是shadow-map-qml,在构建设置配置好后,点击运行,发现还有一些错误

4.1 GL/gl.h: No such file or directory

/opt/Qt5.12.3/5.12.3/gcc_64/include/QtGui/qopengl.h:144: error: GL/gl.h: No such file or directory

需要安装gl的库

sudo apt-get install libgl1-mesa-dev

4.2 LIBDBUS_1_3 not defined

relocation error: /opt/Qt5.12.3/5.12.3/gcc_64/lib/libQt5DBus.so.5: symbol dbus_message_get_allow_interactive_authorization, version LIBDBUS_1_3 not defined in file libdbus-1.so.3 with link time reference

这个和运行qtcreator的错误一样,需要我们指定libdbus的目录,在项目–>构建设置–>构建环境添加环境变量LD_LIBRARY_PATH为/opt/Qt5.12.3/Tools/QtCreator/lib/Qt/lib,如下图所示
构建设置
改好之后,重新运行,就可以看到应用运行效果了!!!
QT DEMO

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181411.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 视图索引总结

    视图索引总结一、视图的内部排序问在SQLServer里是不建议对视图进行排序的,下面是一位SQLServer专家的话:DontputORDERBYStatementsinViews.Delaysortinguntilyoureactuallyabouttousethedata.Ifyouendupsortingdiff

    2022年7月22日
    8
  • NSGA2算法中文详解与MATLAB实现整理「建议收藏」

    NSGA2算法中文详解与MATLAB实现整理「建议收藏」NSGA2算法NSGA-II多目标遗传算法概述http://www.omegaxyz.com/2017/04/14/nsga-iiintro/NSGA2算法MATLAB实现(能够自定义优化函数)http://www.omegaxyz.com/2018/01/22/new_nsga2/NSGA2算法特征选择MATLAB实现(多目标)http://www.omegaxyz.co…

    2022年5月12日
    46
  • 标准一致性检验Kappa值_kappa检验与配对卡方检验

    标准一致性检验Kappa值_kappa检验与配对卡方检验kappa系数一致性检验和配对卡方检验SPSS详细操作:一、问题与数据有两种方法可用于诊断某种癌症,A方法简单易行,成本低,患者更容易接受,B方法结果可靠,但操作繁琐,患者配合困难。某研究选择了53例待诊断的门诊患者,每个患者分别用A和B两种方法进行诊断(表1),判断两种方法诊断癌症有无差别,A方法是否可以代替B方法。表1进口药和国产药治疗效果二、对数据结构的分析之前介绍过成组设计的列联表,它的…

    2022年10月20日
    3
  • laravel 下载报错:Unable to guess the mime type as no guessers are available

    laravel 下载报错:Unable to guess the mime type as no guessers are available

    2021年10月30日
    52
  • roundup与int的区别_notifyall()和notify()区别

    roundup与int的区别_notifyall()和notify()区别 isInterrupted()和interrputed()方法的区别isInterrupted方法是实例方法,interrupted方法是静态方法。Thread.currentThread().isInterrupted()Thread.interrupted()首先说明:wait(),notify(),notifyAll()这些方法由java.lang.Object类提供

    2025年7月6日
    3
  • ideavim有什么用_intellij idea社区版

    ideavim有什么用_intellij idea社区版IdeaVim史诗级分享之前就对vim非常着迷,而我本身就是写java代码的,经常使用Idea这个IDE。2019年初,Idea里一个和vim有关的插件,深深的吸引了我,名字叫Ideavim。后来我就开始使用了。用它的时候,idea原本的快捷键很多就会失去自己的效力。需要进行重新映射,我花了一些时间将一些非常常用的快捷键整理收集,然后赋予其ideavim的快捷键。取得了非常不错的效果。使用vim,最大的好处,是减少打代码的时候进行键鼠切换的频率。有一种相当不错流畅感

    2022年10月1日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号