百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

QT5 Linux开发环境搭建(Centos7)(qt开发环境配置)

bigegpt 2024-08-01 11:57 7 浏览


代码写了这么多年,也没有很好的整理,最近决定系统总结一下,先从QT开始讲起吧,中间会穿插用的东西,比如操作系统等等.由于本人是跨平台开发,对于QT windows环境感兴趣的同学请参照我另一篇文章https://www.toutiao.com/i6831713760030229003/

今天就只讲linux.


linux系统其实很多,我了解还算深入的有Centos,Redhat,Ubuntu以及国产麒麟操作系统这四种,虽然命令界面等不太一样,但其实如果你像我一样搞多了的话,会知道大同小异,后面有时间的话我会专门写一篇关于操作系统的文章,OK话不多说,先来说说如何搭建Linux环境.


由于我本人是个完美主义者.所以,系统和界面我都要,而且,要各种工具齐全,比如中文输入法,各种远程支持等,本篇先给大家讲讲比较容易实现的Centos7系统,说它比较容易是因为直接安装QT5没啥大问题,向Centos6.x系统就有不少幺蛾子,有这方面的困惑的人可以评论咨询.


方式上,我会采用Win10 VMware16的方式进行Cento7QT5的开发环境搭建,直接在Linux下写代码的同学可以略过vmware相关内容.


vmware不服不行真是个好东西,尤其用顺手之后,个人最喜欢的功能就是窗口随意缩放,右键直接与windows系统互相复制粘贴文件文字等,完全做到了把系统当一个普通的软件使用,因此我模拟系统都是用vmware,后期有时间会全面讲解Centos6/Centos7/Centos8,Redhat6/Redhat7/Redhat8,Ubuntu14.04/Ubuntu16.04/Ubuntu18.04/Ubuntu20.04/Ubuntu21.04以及银河麒麟/中标麒麟/优麒麟,Solaris10(Unix),以及Mac系统的vmware模拟.


如下是装好的Centos7系统:



下面进入正题:vmware的下载安装我就不多说了,从装系统开始说起.其实vmware装系统和真正的装系统没什么差别,首先你要去下载Centos7的镜像,某度就可以,下载完成之后:




vmware中 文件-新建虚拟机,


典型



选择你的镜像,如果vmware提示可使用简易安装,那么简易你简易安装,后续会缺少一些g++的东西,需要自己安装,但是好处是比较傻瓜化,后面还会自动给你安装vmware-tools,也就是与windows交互方便的很的东西,这里就简易安装.


?


这里填写普通用户名和普通用户名的密码以及root密码


?


虚拟机的名称以及位置,此处位置请选择空间足够大的盘,因为虚拟机系统动辄几十个G


?


此处选择虚拟机系统盘大小,linux我建议选尽量大一点,不然后期扩展起来比较麻烦,第二个选项一般选单个文件(因为我怕性能降低)


?


先不要完成,点击自定义硬件


?


内存和cpu尽量大一点,USB控制器,声卡,打印机个人建议全部移出,因为没什么卵用而且挤占资源,当然如果你搞Android QT开发,usb可以留着调试用的.


?


返回点完成 ,vmware就开始自动安装了


?


?


漫长的等待,如果你电脑好的话,也很快


?


装完,登录,我一般喜欢用root登录,纯属个人爱好,自己的虚拟机还用普通用户我是闲的蛋疼


?


进入系统,因为vmware已经自动安装了vmwaretoos,所以现在就可以鼠标右下角拖动窗口随意缩放了,这个功能决定了我可以接受用vmware进行Linux开发,如果不可以自由缩放,选择 :

?


专业名词叫自动适应客户机,这也是hyper吹上天我也不用的原因,没法缩放,没法直接复制粘贴(当然现在以后可能有),还要用远程工具搞来搞去,效率何在?


扯远了,进入系统,我们先进行一些必要设置:


打开/etc/selinux/config,关闭sellinux:


?


将SELINUX值改为disable,不然会出现很多远程问题


关闭防火墙并禁止开机自启动


?


重启reboot让关闭selinux生效


重新进入系统,查看gcc以及g++,gdb调试工具,valgrind内存检测组件因为这是linux下开发QT的必备组件


?


发现gcc是4.8.5,已然支持c++11了,但是缺少g++以及valgrind内存检测工具,安装之:


yum install -y gcc-c++ valgrind


?

?


安装完成后,QT5的准备工作就做完了,下面开始安装QT,从官网下载QT5.7Linux版



由于已经安装了vmwaretools,所以直接复制然后到虚拟机Centos7右键粘贴就可以了,还是忍不住夸一下太好用了:


?


拷贝完事后直接双击打开QT安装包:


?


一路next


?


这里选agree



安装完成后,在Application-Programming中找到QT图标双击打开



?

?


新建一个纯C++项目或者QT项目:


?


?


?


?


?


除了名字一路默认就行,注意项目名称不能包含中文名


字体有点小可以调一下


?


此时Ctrl+R或者点左下角绿三角就可以运行了


这里会报一个错:缺少-lGL


?


需要安装GL库


yum install -y libGL-devel


安装完成后,重新运行,熟悉的界面出来了,完美.


?


下面讲一下调试:


F9断点,然后点左下角带虫子的绿三角或者F5即可开始调试进入断点


?


F10是下一步,F11是进入函数内部,这里给QT一个好评就是对于QT包括纯C或者C++的项目,如果有导致coredump的地方,QT使用调试模式会直接断在挂的地方,本人实际后端项目经验中也经常用这种方法找coredump位置,比起Core文件方式简单好用,如图所示:


?


最后再说一下内存检测:Analyze-Valgrind memory analyzer,程序起来后再关闭,就可以定位内存泄露的位置,简直不要太方便!


?


讲到这里基本差不多了,就算你是小白也基本能搞定了,有任何问题欢迎留言


?

相关推荐

得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践

一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...

warm-flow新春版:网关直连和流程图重构

本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...

扣子空间体验报告

在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...

spider-flow:开源的可视化方式定义爬虫方案

spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...

solon-flow 你好世界!

solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...

新一代开源爬虫平台:SpiderFlow

SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...

通过 SQL 训练机器学习模型的引擎

关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...

鼠须管输入法rime for Mac

鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...

Go语言 1.20 版本正式发布:新版详细介绍

Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...

iOS 10平台SpriteKit新特性之Tile Maps(上)

简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...

程序员简历例句—范例Java、Python、C++模板

个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...

Telerik UI for iOS Q3 2015正式发布

近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...

ios使用ijkplayer+nginx进行视频直播

上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...

IOS技术分享|iOS快速生成开发文档(一)

前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...

macOS下配置VS Code C++开发环境

本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...