Mac端 Qt(qmake)从txt到程序的方法

Qt基础之四十四:qmake构建原理 qmake构建原理。当一个项目很小的时候,直接使用编译器、链接器等编译工具,就可以把代码构建成程序。当项目越来越大时,除了需要调用编译工具编译程序,还需要做很多事情,例如:☆配置编译工具☆设置编译选项☆添加头文件☆添加第三方库☆添加资源文件☆自动增量编译,自动检测文件修改☆链接程序☆软件自动部署☆自动化测试等等完成这些步骤,需要调用几个甚至几十个工具来完成。这导致构建软件的任务变得非常繁琐,如果每次构建都需要开发者手动逐个调用工具完成,就会产生大量的、机械的重复性劳动。 阅读详情

时间有限,本篇文章只介绍基本思路,对于内部程序的编写及运用,不涉及!

一、创建txt文件

首先创建一个txt文件,除满足以下某些条件,名字随意,路径随意。

1、最好纯英文,中文路径及名称可能编译错误
2、该路径下不含其他头文件和cpp文件

打开txt,编写程序代码:

#include <QApplication>
#include <QDialog>
#include <QLabel>

int main(int n,char *m[])
{
    QApplication a(n,m);
    QDialog d;
    QLabel label(&d);
    label.setText("this is a label message!");
    label.adjustSize();
    d.resize(200,100);
    d.show();
    return a.exec();
}

保存关闭

二、打开终端,cd到目录,准备qmake

终端输入

$ qmake -v

在这里插入图片描述

则编译路径正确

否则

$ vim ~/.bash_profile

//.bash_profile写入以下语句
export QTDIR=/Users/yucheng/Qt5.14.2/5.14.2/clang_64  //注意这里是你自己的Qt安装路径
exportLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH=$QTDIR/bin:$PATH
//保存退出

//查看qmake版本,如果显示当前版本,即完成
$ qmake -v

三、执行qmake、make

cd到目标路径后,路径下只有ycc.h,多文件编译后文会涉及。

执行

$ qmake -project

它会在目录下自动生成.pro文件,pro文件不用做过多介绍吧。

打开pro文件,在最后一行添加语句:

greaterThan(QT_MAJOR_VERSION, 4):QT+=widgets

保存关闭

执行

$ qmake

目录下会出现Makefile文件

好的 ,继续执行

$ make

会生成一个工程文件和一个.o文件

四、运行程序

双击工程文件,即可运行

在这里插入图片描述

五、多文件程序

前文中的程序只有一个.cpp文件,但是多文件的编译方法同理,方法步骤一样,只需要文件都在此目录下,执行qmake -project即可生成pro文件,打开pro文件,我们可以看到

在这里插入图片描述

# Input
栏目下就是参与编译的文件。

实例
  • widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QLabel>


class widget : public QWidget
{
Q_OBJECT
public:
    widget(QWidget * parent = nullptr);
    ~widget();
};

#endif
  • widget.cpp
#include "widget.h"

widget::widget(QWidget *parent)
:QWidget(parent)
{
    resize(400,300);
    QLabel *label = new QLabel(this);
    label->setText("this is a class message!");
    label->adjustSize();
    label->show();
}

widget::~widget()
{
}
  • yc.cpp
#include <QApplication>
#include "widget.h"

int main(int n,char *m[])
{
    QApplication a(n,m);
    widget w;
    w.show();
    return a.exec();
}

三个文件

执行

$ qmake -project
打开pro文件加入 greaterThan(QT_MAJOR_VERSION, 4):QT+=widgets
$ qmake
$ make

完成后

在这里插入图片描述

3dsMax高效导入OSGB倾斜模型的3个关键步骤与插件应用 本文详细解析了在3dsMax中高效导入OSGB倾斜模型的三个核心步骤:建立索引、处理贴图路径以及选择合适的插件。针对导入过程中常见的模型崩溃、贴图丢失和操作卡顿问题,提供了从数据结构理解到插件选型的实战解决方案,帮助用户实现大规模实景模型在3dsMax中的流畅导入与编辑。 阅读详情

相关推荐

【中软软件测试笔试题】中国软件与技术服务股份有限公司笔试一卷

请分别写出ISO7层架构,并分别说明TCP、UDP协议分别在处于哪一层,以及TCP、 UPD协议有什么区别。 答:7 应用层 6 表示层 5 会话层 4 传输层 3网络层 2 数据链路层 1 物理层 第四层;UDP是面向无连接、不可靠数据传输协议; TCP是面向连接、可靠数据传输协议......

Yanan990830的博客 1817

从.pro到CMakeLists.txt:手把手教你将老旧Qt项目从QMake迁移到CMake(附完整配置示例)

本文详细指导如何将老旧Qt项目从QMake迁移到CMake,涵盖核心概念映射、高级功能迁移策略及常见挑战解决方案。通过完整配置示例,帮助开发者实现构建系统现代化,提升跨平台支持和IDE集成体验。

congnen9588的博客 451

STM32CubeMx搭建LWIP程序

  使用STM32CubeMx5.21,在stm32f745平台上搭建ethernet通信程序,PHY选用KSZ8081RNB。(LAN8742/DP83848使用一样) 1、系统时钟设置   RCC设置,勾选外部高速时钟源。   系统时钟配置。写入外部晶振频率、HSE提供PLCCLK、HCLK,其他参数自动生成。 2、ETH设置   勾选设置NVIC。   根据硬件设置对应GPIO引脚。   参数设置默认   根据硬件设置PHY地址,其他参数默认。 3、LWIP设置   勾选使能,通用参数设置

Gandalf94的博客 3238

Mac端QT5.14.2配置QMQTT,亲测有效

下载资源:

yc__coder的博客 1832

毫米波雷达dd-mimo中发射天线辐射方向图变化

本文详细介绍了dd-mimo的相位调制原理,以及分离天线的办法,最后演示了在dd-mimo中因为相位调制带来的辐射方向图的变化。

weixin_44555637的博客 1167

华为OD机试真题 新系统【查找能被整除的最大整数】

华为OD新系统机试真题【查找能被整除的最大整数】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【查找能被整除的最大整数】

qq_45776114的博客 672

MAC下搭建MQTT客户端,测试发布和订阅话题

1. 下载MQTTKIT开源库,编译出你所需要的libMQTTKit.a和头文件 MQTTKIT开源库下载地址:点这里 下载好MQTTKIT开源库后,编译下(假如你想在模拟器上运行客户端,可以直接编译出一个模拟器版本的libMQTTKit.a和头文件,反之编译出一个手机客户端版本) 编译好的文件截图: 2. MQTT客户端设计(连接服务器,发布话题,订阅话题) 新建一个关

robinson_911的专栏 6508

Unreal5 从入门到精通之 如何实现 离线语音识别

本文介绍了如何使用离线语音识别插件 Offline Speech Recognition 进行本地语音转文本处理。该插件支持离线运行,用户可以通过下载并运行语言服务器(如 Vosk)来处理语音数据。文章详细说明了如何设置语言服务器、下载语言模型,并在虚幻引擎(UE)项目中配置麦克风和语音捕获。此外,还介绍了如何将 SoundWave 作为输入,以及如何通过节点将语音数据发送到语言服务器进行处理。最后,提供了相关文档链接以供进一步参考。

TxNet 906

Qt - macOS 安装配置

一、关于 QT 1.2 Qt的发展史 1.3支持的平台 1.4 Qt版本 1.5 Qt 的优点 1.6 成功案例 二、软件安装 1、保证已 Xcode 和 Command Line Tools 2、下载 QT 3、下载 [qtcreator](http://download.qt.io/official_releases/qtcreator/) 查看qt版本 三、创建工程 Qt 常见用法 四、基础项目文件 `main.cpp` 文件 `.pro`文件 `mywidget.h` 快捷键

AI工程化、开源分享、文档翻译、代码笔记 7430

大数据开发工程师必备面试题与解答

大数据开发岗位一直是互联网行业的热门方向,面试过程中既考察基础知识,也关注实际项目经验和问题解决能力。本文整理了等核心组件相关的高频面试题及参考解答,帮助大家高效准备面试。大数据面试不仅考察基础理论,更看重项目经验与问题解决能力。本文涵盖了等核心知识点及调优思路,希望能帮助你在面试中游刃有余。

X2829352498的博客 302

【ArcGIS Pro微课1000例】0022:基于DEM进行流域分析生成流域图

填洼Fill,在进行水文分析后续操作前,首先要对DEM进行填洼,创建无凹陷点的DEM。在ArcGIS中使用的是八方向流量建模(D8算法),工具位于水文分析下的【流向】。填洼需要使用水文分析工具下的【填洼】。确定输入与输出即可。

智慧空间实验室 2752

Mac上Qt安装和配置教程

Mac上Qt安装和配置教程

m0_60259116的博客 1627

js逆向第3例:蝉妈妈大屏实时数据formDataSign加密

蝉妈妈大屏抖音直播实时数据是抓取抖音直播间数据的实时数据,有类似需求的公司但没有能力去搞定抖音,抓取蝉妈妈数据也是一个不错的选择。接下来就是调试找到加密点,说句题外话蝉妈妈的所有js文件打包方式用的都是webpack5,那如何区分打包方式可以阅读这篇文章。时间戳 ,经过观察发现加密参数是实时变化的。这个函数扣下来,在浏览器控制台中测试一下。言归正传,打断点找到变量。继续打断点向上找又发现了。查看请求参数,可以看到。请求的内容,那么这个。

花臂不花Home 1540

Mac上Qt安装和配置教程_mac qt

频,并且后续会持续更新**

2401_84253380的博客 6181

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

make makefile cmake qmake都是什么,有什么区别

列表一: 1.gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。 2.当你的程序只有一个源文件时,直接就可以用gcc命令编译它。 3.但是当你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大 4.所以出现了make工具 make工具可以看成是一个智能的批处理工具,它本身并没有编译和链接的功能,而是用类似于批处理的方式—通过调用m

君君的博客 5767

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

make, makefile, cmake, qmake 都是什么? 以及有何区别?

make, makefile, cmake, qmake 都是什么? 以及有何区别?

weixin_53090658的博客 1162

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

cmake nmake qmake 的区别联系

????推荐关注????经常记不住这几个概念,都看了几次了还是容易忘,为以后方面查阅,故而从知乎上复制粘贴过来。1、gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。2、当你的程序只有一个源文件时,直接就可以用gcc命令编译它。3、但是当你的程序包含很多个源文件...

青春不老,奋斗不止! 1849

Qt构建系统对比:CMake与qmake的深度解析与迁移指南

构建系统是现代软件开发中的核心基础设施,决定了项目的编译流程、依赖管理和跨平台能力。CMake作为主流的元构建系统,通过生成原生构建文件的方式,提供了强大的跨平台支持和模块化管理能力。在Qt生态中,传统的qmake工具曾长期占据主导地位,但随着项目复杂度提升,CMake凭借其更完善的依赖管理和更清晰的语法结构,已成为Qt6及以后版本的官方推荐选择。对于需要处理多平台编译、复杂依赖关系或大型代码库的Qt项目,迁移到CMake能显著提升构建效率和可维护性。本文基于实际工程经验,详细解析两种构建系统的核心差异,并

weixin_33805743的博客 364

Make、Makefile、Cmake、QMake 的区别

简介: make makefile cmake qmake都是什么,有什么区别? 文章目录本博文的简述or解决问题?重要提示:答一(比较写的好):答二(图很好):参考博文:本篇同步博文: 本博文的简述or解决问题? ​ make makefile cmake qmake都是什么,有什么区别? ​ 查了一下好像是编译用的,既然是编译为什么我们不用g++ ja...

7561

一文详解QT环境搭建:M芯片Mac使用CLion配置QT开发环境

在当今的软件开发领域,跨平台应用的需求日益增长,Qt作为一款流行的C++图形用户界面库,因其强大的功能和易用性而备受开发者青睐。与此同时,CLion作为一款专为C/C++打造的强大IDE,提供了丰富的特性和高效的编码体验。本文将指导您如何在Mac电脑M芯片下配置CLion与Qt的集成环境,使您能够快速开始Qt应用程序的开发。

bjxiaxueliang的CODING小栈 3479

【转】make makefile cmake qmake都是什么,有什么区别?

转自: 作者:知乎用户 链接:https://www.zhihu.com/question/27455963/answer/89770919 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1.gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。 2.当你的程序只有一个源文件时,直接就可以用gcc命令编译它。 3.但.

sinolover的专栏 349

make makefile cmake qmake都是什么,有什么区别?

本文转载自知乎,链接和作者信息如下。作者:辉常哥链接:https://www.zhihu.com/question/27455963/answer/89770919来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。经常记不住这几个概念,都看了几次了还是容易忘,为以后方面查阅,故而从知乎上复制粘贴过来。1、gcc是GNU Compiler Collection(就是GNU...

dd_hello的博客 1752

关于cmake qmake make makeile之间的关系问题

总之 qmake是根据.pro文件生成makefile文件,同理cmake是根据CMakeList.txt生成的makefile文件。 make再根据makefile文件来编译工程文件 来完成(预编译)-> (编译) -> (汇编) -> (链接)中的编译过程。 下面是知乎一位大哥所说,我认为挺好,这里...

299

qmake &cmake &makefile differences

1.gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。2.当你的程序只有一个源文件时,直接就可以用gcc命令编译它。3.但是当你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大4.所以出现了make工具make工具可以看...

菜鸟进化史 1034

make-makefile cmake nmake qmake的区别联系

make makefile cmake qmake都是什么,有什么区别? 2018年06月06日 21:37:59dd_hello阅读数 400 本文转载自知乎,链接和作者信息如下。 作者:辉常哥 链接:https://www.zhihu.com/question/27455963/answer/89770919 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明...

行知致简的专栏 797
上一篇: C++流类输入/输出
下一篇: Qt下载新方式
巨蟹贼香
博客等级 码龄9年 76粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值