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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • XMLHttpRequest对象的status属性状态吗

    在做异步操作的时候,我们通常需要判断返回的状态码来判断服务器返回的数据是否正常,下面是常见的一些状态码和对应的含义。状态码200服务器正常处理了请求并响应404请求的页面(资源)没有找到403没有权限访问请求的页面(资源)405页面(资源)不接收该请求方式(比如用get请求一个只支持doPost方法的servlet)

    2022年2月24日
    44
  • 罗盘时钟代码(转载)

    罗盘时钟代码(转载)文件结构如下:$tree├──css│└──demo.css├──hello.html└──js└──demo.js浏览器打开hello.html即可(文件见附录),效果如下:#—————————————————————————-…

    2022年6月28日
    144
  • 高清播放之滤镜 – MadVR「建议收藏」

    高清播放之滤镜 – MadVR「建议收藏」转自:https://liutao.xyz/highdefinition_madvr/为什么推荐madVR作为渲染器1、madVR可以实现更精确的颜色处理。madVR全程在16bit/32bit下进行运算,精度远高于EVR/VMR等8bit,并抖动到8bitRGB输出。madVR的高精度运算和轻微的抖动噪声有着掩盖色带色块等作用。如果片源是10bit,madVR搭配ffdshow

    2022年9月14日
    2
  • Vue进阶(十八):router.beforeEach 与 router.afterEach 钩子函数

    Vue进阶(十八):router.beforeEach 与 router.afterEach 钩子函数在路由跳转的时候,我们需要一些权限判断或者其他操作。这个时候就需要使用路由的钩子函数。定义:路由钩子主要是给使用者在路由发生变化时进行一些特殊的处理而定义的函数。总体来讲vue里面提供了三大类钩子,两种函数1、全局钩子2、某个路由的钩子3、组件内钩子两种函数:1、Vue.beforeEach(function(to,form,next){})/*在跳转之前执行*/2.Vue.after…

    2022年6月25日
    53
  • netty通信框架_王国风云2控制台代码

    netty通信框架_王国风云2控制台代码写在前面所属章节链接第二章2.1BIO通信aaaTimeServer代码importjava.io.IOException;importjava.net.ServerSocket;importjava.net.Socket;publicclassTimeServer{ publicstaticvoidmain(String[]args)throwsIOException{ intport=8081; if(args

    2022年10月2日
    6
  • python3反爬虫原理与绕过实战 网盘_Python 3反爬虫原理与绕过实战「建议收藏」

    第1章 开发环境配置11.1 操作系统的选择11.1.1 Ubuntu简介11.1.2 VirtualBox的安装21.1.3 安装Ubuntu31.1.4 全屏设置81.1.5 Python设置91.2 练习平台Steamboat101.2.1 安装Docker111.2.2 安装Steamboat121.2.3 Steamboat使用说明141.3 第三…

    2022年4月8日
    232

发表回复

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

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