qt-C++笔记之命令行生成项目pro文件(极简编译qt项目代码)

qt-C++笔记之命令行生成项目pro文件(极简编译qt项目代码)

文章目录

  • qt-C++笔记之命令行生成项目pro文件(极简编译qt项目代码)
      • 步骤 1:生成项目文件
      • 步骤 2:生成 Makefile 文件
      • 步骤 3:编译程序
      • 详细解释
      • 注意事项
      • 项目结构
      • `main.cpp` 文件
      • 生成项目文件
      • 生成 Makefile 文件
      • 编译程序
      • 运行程序
      • 总结
      • 完整命令列表
    • 实际使用过程截图

步骤 1:生成项目文件

首先,确保在项目的根目录下。生成一个 Qt 项目的 .pro 文件,可以包含一些基本的配置信息,比如需要使用的 Qt 模块。使用 qmake 命令生成 .pro 文件:

qmake -project "QT += core"

这条命令会创建一个项目文件(例如 project.pro),并将 QT += core 添加到项目文件中,表示项目需要使用 Qt Core 模块。Qt Core 模块提供了核心的非 GUI 功能。

步骤 2:生成 Makefile 文件

在生成了项目文件之后,使用 qmake 生成 Makefile 文件:

qmake

qmake 读取项目文件 (.pro) 并生成相应的 Makefile 文件。Makefile 文件包含了如何编译和链接项目的指令。

步骤 3:编译程序

最后,使用 make 命令来编译程序:

make

make 命令会根据 Makefile 文件中的指令来编译源代码,并生成可执行文件。

详细解释

  1. qmake -project "QT += core" 命令

    • qmake 是 Qt 的项目管理工具,它可以生成项目文件和 Makefile 文件。
    • -project 标志告诉 qmake 创建一个新的项目文件。
    • "QT += core" 是告诉 qmake 生成的项目文件需要包含 Qt Core 模块。
  2. qmake 命令

    • 在项目文件生成之后,再次运行 qmake,它会读取项目文件并生成一个 Makefile 文件。
    • Makefile 文件包含了如何编译和链接项目的详细指令。
  3. make 命令

    • make 命令会执行 Makefile 文件中的指令,编译源代码并生成可执行文件。

注意事项

  • 确保的系统上已经安装了 Qt 开发环境。可以通过以下命令检查 Qt 和 qmake 的安装情况:

    qmake --version
    
  • 确保在执行这些命令之前,的终端已经切换到项目的根目录。

  • 如果的项目需要用到其他的 Qt 模块,比如 GUI、网络等,可以在生成项目文件时添加相应的模块。例如:

    qmake -project "QT += core gui widgets"
    

    这会将 Qt CoreQt GUIQt Widgets 模块都包含在项目文件中。

下面是一个具体的例子,展示如何创建一个简单的 Qt控制台应用程序,并使用上述编译步骤来构建它。

项目结构

假设项目目录结构如下:

my_qt_project/├── main.cpp

main.cpp 文件

main.cpp 文件中,编写一个简单的 Qt 控制台应用程序:

#include <QCoreApplication>
#include <QDebug>int main(int argc, char *argv[])
{QCoreApplication app(argc, argv);qDebug() << "Hello, Qt!";return app.exec();
}

生成项目文件

在项目根目录(即 my_qt_project 目录)下,运行以下命令来生成项目文件:

qmake -project "QT += core"

这将生成一个名为 my_qt_project.pro 的项目文件。可以打开这个文件查看内容,内容应该类似于:

QT += core
SOURCES += main.cpp

生成 Makefile 文件

继续在项目根目录下运行以下命令来生成 Makefile 文件:

qmake

这将读取 my_qt_project.pro 文件并生成一个 Makefile 文件。

编译程序

最后,使用 make 命令来编译程序:

make

如果一切顺利,make 命令将会编译 main.cpp 并生成一个可执行文件(在 Unix 系统上通常是 my_qt_project,在 Windows 上是 my_qt_project.exe)。

运行程序

在项目根目录下,运行生成的可执行文件:

./my_qt_project

应该会看到控制台输出:

Hello, Qt!

总结

通过上述步骤,成功地创建了一个简单的 Qt 控制台应用程序,并编译运行了它。这个过程展示了如何使用 qmakemake 来构建一个 Qt 项目。

完整命令列表

为了方便参考,以下是所有命令的汇总:

# 1. 生成项目文件
qmake -project "QT += core"# 2. 生成 Makefile 文件
qmake# 3. 编译程序
make# 4. 运行程序(在 Unix 系统上)
./my_qt_project

实际使用过程截图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/346910.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服饰进口清关流程及注意事项 | 国际贸易数字化平台 | 箱讯科技

随着全球化进程的不断推进&#xff0c;我国消费者对国外品牌服饰的需求日益增长&#xff0c;衣服进口业务也随之蓬勃发展。作为一名从事进口衣服行业的专业人士&#xff0c;掌握清关流程及注意事项至关重要。本文将为您详细解析衣服进口清关流程&#xff0c;并提供一些实用建议…

SpringSecurity入门(二)

8、获取用户认证信息 三种策略模式&#xff0c;调整通过修改VM options // 如果没有设置自定义的策略&#xff0c;就采用MODE_THREADLOCAL模式 public static final String MODE_THREADLOCAL "MODE_THREADLOCAL"; // 采用InheritableThreadLocal&#xff0c;它是Th…

图形和插图软件Canvas X Pro 20 Build 914

Canvas X Pro是一款功能强大、用途广泛的Windows软件,旨在处理技术图形和可视化,该程序结合了创建矢量和光栅图形的工具,这使其成为需要创建高质量技术插图和演示文稿的工程师、设计师、科学家和其他专业人士的理想选择。 Canvas X Pro的主要功能之一是支持处理大型和复杂的…

tcp协议的延迟应答(介绍+原则),拥塞控制(拥塞窗口,网络出现拥塞时,滑动窗口的大小如何确定,慢启动,阈值)

目录 延迟应答 引入 介绍 原则 拥塞控制 引入 网络出现拥塞 引入 介绍 介绍 拥塞窗口 介绍 决定滑动窗口的大小 慢启动 介绍 为什么要有慢启动 阈值 算法 总结 延迟应答 引入 发送方一次发送更多的数据,发送效率就越高 因为要写入网卡硬件的io速度很慢,尽量…

笔记 | 软件工程06-2:软件设计-软件体系结构设计

1 软件体系结构的概念 1.1 软件体系结构的设计元素 1.2 不同的抽象层次 1.3 软件体系结构的不同视图 1.3.1 软件体系结构的逻辑视图&#xff1a;包图 1.3.2 软件体系结构的逻辑视图&#xff1a;构件图 1.3.3 软件体系结构的开发视图 1.3.4 软件体系结构的部署视图 1.3.4.1 描述…

02眼电识别眼动--软件V1.0

对应视频链接点击直达 01项目点击下载&#xff0c;可直接运行&#xff08;含数据库&#xff09; 02眼电识别眼动--软件V1.0 对应视频链接点击直达构思结语其他以下是废话 构思 对于软件&#xff0c;主要就是接收数据、处理数据、储存和显示数据。 这是主要页面&#xff0c;…

【第2章】Vue快速上手

文章目录 前言一、第一个Vue程序二、Open in Browser插件1.安装2. 使用3. 界面 总结 前言 这里我们来实现我们的第一个程序。 一、第一个Vue程序 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name&quo…

java版UWB高精度实时定位系统源码springboot+vue

UWB人员定位系统&#xff0c;实现人员的自动识别、位置定位、区域报警等功能。该系统能高效记录人员信息&#xff0c;出入信息及位置信息&#xff0c;并能灵活的查询及管理历史轨迹&#xff0c;可极大提高信息安全度&#xff0c;有效弥补了视频监控的不足。使人员管理实现信息化…

【端午惊喜】2024年6月6日 docker 国内镜像源集体失效

文章目录 概述中科大镜像源阿里镜像源其他镜像源可用的镜像源写在最后 概述 大家都知道使用docker hub官方镜像需要魔法&#xff0c;虽然大部人有魔法&#xff0c;但是网速也是很慢&#xff0c;还有部分同学没有&#xff0c;全靠国内各大厂商的镜像源&#xff0c;可是端午6.6大…

一个公用的数据状态修改组件

灵感来自于一项重复的工作&#xff0c;下图中&#xff0c;这类禁用启用、审核通过不通过、设计成是什么状态否什么状态的场景很多。每一个都需要单独提供接口。重复工作还蛮大的。于是&#xff0c;基于该组件类捕获组件跳转写了这款通用接口。省时省力。 代码如下&#xff1a;…

LabVIEW程序内存泄漏分析与解决方案

维护他人编写的LabVIEW程序时&#xff0c;若发现程序运行时间越长&#xff0c;占用内存越大直至崩溃&#xff0c;通常是内存泄漏导致的。本文从多角度分析内存泄漏的可能原因&#xff0c;包括数组和字符串处理、未释放的资源、循环中的对象创建等&#xff0c;并提供具体的解决方…

【ARM Coresight Debug 系列 -- ARMv8/v9 软件实现断点地址设置】

请阅读【嵌入式开发学习必备专栏 】 文章目录 ARMv8/v8 软件设置段带你断点地址软件配置流程代码实现 ARMv8/v8 软件设置段带你 在ARMv8/9架构中&#xff0c;可以通过寄存器 DBGBVR0_EL1 设置断点。这个寄存器是一系列调试断点值寄存器中的第一个DBGBVRn_EL1&#xff0c;其中n…

http接口上传文件响应413:413 Request Entity Too Large

目录 一、场景简介二、异常展示三、原因四、解决 一、场景简介 1、服务端有经过nginx代理 2、上传文件超过5M时&#xff0c;响应码为413 3、上传文件小于5M时&#xff0c;上传正常 二、异常展示 三、原因 nginx限制了上传数据的大小 四、解决 扩大nginx上传数据的大小 步…

大模型生成短视频

最近看到一个开源项目可以通过AI生成短视频&#xff0c;然后尝试了下&#xff0c;感觉还不错&#xff0c;下面是具体步骤。 项目名叫moneyprinterTurbo&#xff0c;它本意是对接到Youtube&#xff0c;自动生成视频并上传到Youtube获取流量赚钱&#xff0c;所以项目名叫moneypri…

CISP究竟适合谁?这四类人没跑了

在信息技术飞速发展的现在&#xff0c;网络安全已经成为了一个不可忽视的话题。 CISP&#xff0c;即注册信息安全专业人员&#xff0c;是网络安全领域内一项备受认可的专业认证。 但CISP究竟适合谁考呢&#xff1f;这不仅是一个技术问题&#xff0c;更是一个职业规划的问题。…

修改onnx模型中间节点命名(包含输入、输出重命名)

来源&#xff1a;Paddle2ONNX Paddle2ONNX/tools/onnx/README.md at develop PaddlePaddle/Paddle2ONNX GitHub 依赖&#xff1a;import onnx python rename_onnx_model.py --model model.onnx --origin_names x y z --new_names x1 y1 z1 --save_file new_model.onnx 其中 …

Windows 10 找不到Microsoft Edge 浏览器

下载链接 了解 Microsoft Edge 手动下载浏览器 问题说明 一般来说&#xff0c;windows10系统应该是自带浏览器edge的&#xff0c;但有的电脑就是没有找到edge浏览器&#xff0c;可能系统是精简过的&#xff0c;可能是被卸载了。如下&#xff0c;控制面板确实没找到程序。 ​ …

修改SubVI的LabVIEW默认搜索路径

在启动顶级VI后&#xff0c;LabVIEW可能会遇到找不到subVI的情况。这通常是由于subVI的路径发生了变化或没有被正确配置。 LabVIEW默认搜索路径 默认情况下&#xff0c;LabVIEW会按以下顺序搜索文件位置&#xff08;*表示LabVIEW将搜索子目录&#xff09;&#xff1a; <t…

基于SSM+Jsp的交通事故档案管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

3.Nginx配置文件基本介绍

nginx配置文件所在路径&#xff1a;/usr/local/nginx/conf/nginx.conf nginx配置文件有三块&#xff1a; 1.全局块 从配置文件开始到events块之间的内容&#xff0c;主要会设置一些影响nginx服务器整体运行的配置指令。 配置运行nginx服务器的用户(组)允许生成的worker pro…