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

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

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


代码写了这么多年,也没有很好的整理,最近决定系统总结一下,先从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,程序起来后再关闭,就可以定位内存泄露的位置,简直不要太方便!


?


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


?

相关推荐

当Frida来“敲”门(frida是什么)

0x1渗透测试瓶颈目前,碰到越来越多的大客户都会将核心资产业务集中在统一的APP上,或者对自己比较重要的APP,如自己的主业务,办公APP进行加壳,流量加密,投入了很多精力在移动端的防护上。而现在挖...

服务端性能测试实战3-性能测试脚本开发

前言在前面的两篇文章中,我们分别介绍了性能测试的理论知识以及性能测试计划制定,本篇文章将重点介绍性能测试脚本开发。脚本开发将分为两个阶段:阶段一:了解各个接口的入参、出参,使用Python代码模拟前端...

Springboot整合Apache Ftpserver拓展功能及业务讲解(三)

今日分享每天分享技术实战干货,技术在于积累和收藏,希望可以帮助到您,同时也希望获得您的支持和关注。架构开源地址:https://gitee.com/msxyspringboot整合Ftpserver参...

Linux和Windows下:Python Crypto模块安装方式区别

一、Linux环境下:fromCrypto.SignatureimportPKCS1_v1_5如果导包报错:ImportError:Nomodulenamed'Crypt...

Python 3 加密简介(python des加密解密)

Python3的标准库中是没多少用来解决加密的,不过却有用于处理哈希的库。在这里我们会对其进行一个简单的介绍,但重点会放在两个第三方的软件包:PyCrypto和cryptography上,我...

怎样从零开始编译一个魔兽世界开源服务端Windows

第二章:编译和安装我是艾西,上期我们讲述到编译一个魔兽世界开源服务端环境准备,那么今天跟大家聊聊怎么编译和安装我们直接进入正题(上一章没有看到的小伙伴可以点我主页查看)编译服务端:在D盘新建一个文件夹...

附1-Conda部署安装及基本使用(conda安装教程)

Windows环境安装安装介质下载下载地址:https://www.anaconda.com/products/individual安装Anaconda安装时,选择自定义安装,选择自定义安装路径:配置...

如何配置全世界最小的 MySQL 服务器

配置全世界最小的MySQL服务器——如何在一块IntelEdison为控制板上安装一个MySQL服务器。介绍在我最近的一篇博文中,物联网,消息以及MySQL,我展示了如果Partic...

如何使用Github Action来自动化编译PolarDB-PG数据库

随着PolarDB在国产数据库领域荣膺桂冠并持续获得广泛认可,越来越多的学生和技术爱好者开始关注并涉足这款由阿里巴巴集团倾力打造且性能卓越的关系型云原生数据库。有很多同学想要上手尝试,却卡在了编译数据...

面向NDK开发者的Android 7.0变更(ndk android.mk)

订阅Google官方微信公众号:谷歌开发者。与谷歌一起创造未来!受Android平台其他改进的影响,为了方便加载本机代码,AndroidM和N中的动态链接器对编写整洁且跨平台兼容的本机...

信创改造--人大金仓(Kingbase)数据库安装、备份恢复的问题纪要

问题一:在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录,您可...

OpenSSH 安全漏洞,修补操作一手掌握

1.漏洞概述近日,国家信息安全漏洞库(CNNVD)收到关于OpenSSH安全漏洞(CNNVD-202407-017、CVE-2024-6387)情况的报送。攻击者可以利用该漏洞在无需认证的情况下,通...

Linux:lsof命令详解(linux lsof命令详解)

介绍欢迎来到这篇博客。在这篇博客中,我们将学习Unix/Linux系统上的lsof命令行工具。命令行工具是您使用CLI(命令行界面)而不是GUI(图形用户界面)运行的程序或工具。lsoflsof代表&...

幻隐说固态第一期:固态硬盘接口类别

前排声明所有信息来源于网络收集,如有错误请评论区指出更正。废话不多说,目前固态硬盘接口按速度由慢到快分有这几类:SATA、mSATA、SATAExpress、PCI-E、m.2、u.2。下面我们来...

新品轰炸 影驰SSD多款产品登Computex

分享泡泡网SSD固态硬盘频道6月6日台北电脑展作为全球第二、亚洲最大的3C/IT产业链专业展,吸引了众多IT厂商和全球各地媒体的热烈关注,全球存储新势力—影驰,也积极参与其中,为广大玩家朋友带来了...