公司注册网站官网中国国家培训网

news/2025/10/6 5:49:05/文章来源:
公司注册网站官网,中国国家培训网,wordpress批量注册账号,注册网站英语Qt 不是凭空产生的#xff0c;它是基于现有工具链打造而成的#xff0c;它所使用的编译器、链接器、调试器等都不是自己的#xff0c;Qt 官方只是开发了上层工具。下面我们分几个部分讲解 Qt 使用到的工具链。 GNU 工具集 在上个世纪八十年代#xff0c;计算机都是奢侈品…Qt 不是凭空产生的它是基于现有工具链打造而成的它所使用的编译器、链接器、调试器等都不是自己的Qt 官方只是开发了上层工具。下面我们分几个部分讲解 Qt 使用到的工具链。 GNU 工具集 在上个世纪八十年代计算机都是奢侈品操作系统里最著名的是 Unix 家族 当时还没有 Windows、Linux 之类的Unix 系统都是商业软件里面的应用软件也是商业软件 全是封闭的环境。 系统程序员 Richard M. Stallman (RMS) 在此环境下创立了与众不同的 GNU 项目 (GNUs Not Unix) 以及推进自由软件发展的 Free Software Foundation (FSF) 自由软件基金会。 GNU 项目是为了创建自由的类 Unix 系统也因此开发出来很多开源的系统工具其中非常著名的就是 GCC GNU Compiler CollectionGNU编译器套件。 现在我们知道GUN 开发类 Unix 系统的项目失败了但是它开发的一系列工具集却用到了后来的 Linux 内核上两者结合形成了今天的各种 Linux 发行版有兴趣的读者请转到《Linux和UNIX的关系及区别》了解更多。在 GNU 工具集里面开发时常见到的几个罗列如下这些工具通常位于 Linux 或 Unix 系统里的 /usr/bin/ 目录   工具说明gccGNU C 语言编译器。gGNU C 语言编译器。ldGNU 链接器将目标文件和库文件链接起来创建可执行程序和动态链接库。ar生成静态库 .a 可以编辑和管理静态链接库。make生成器可以根据 makefile 文件自动编译链接生成可执行程序或库文件。gdb调试器用于调试可执行程序。ldd查看可执行文件依赖的共享库扩展名 .so也叫动态链接库。 MinGW 原本 GNU 工具只在 Linux/Unix 系统里才有随着 Windows 系统的广泛使用 为了在 Windows 系统里可以使用 GNU 工具诞生了 MinGWMinimalist GNU for Windows 项目利用 MinGW 就可以生成 Windows 里面的 exe 程序和 dll 链接库。 需要注意的是MinGW 与 Linux/Unix 系统里 GNU 工具集的有些区别 MinGW 里面工具带有扩展名 .exe Linux/Unix 系统里工具通常都是没有扩展名的。MinGW 里面的生成器文件名为 mingw32-make.exeLinux/Unix 系统里就叫 make。MinGW 在链接时是链接到 *.a 库引用文件生成的可执行程序运行时依赖 *.dll而 Linux/Unix 系统里链接时和运行时都是使用 *.so 。另外 MinGW 里也没有 ldd 工具因为 Windows 不使用 .so 共享库文件。如果要查看 Windows 里可执行文件的依赖库需要使用微软自家的 Dependency Walker 工具。Windows 里面动态库扩展名为 .dllMinGW 可以通过 dlltool 来生成用于创建和使用动态链接库需要的文件如 .def 和 .lib。 MinGW 原本是用于生成 32 位程序的随着 64 位系统流行起来 从 MinGW 分离出来了 MinGW-w64 项目该项目同时支持生成 64 位和 32 位程序。Qt 的 MinGW 版本库就是使用 MinGW-w64 项目里面的工具集生成的。 MSYSMinimal SYStem 另外提一下由于 MinGW 本身主要就是编译链接等工具和头文件、库文件并不包含系统管理、文件操作之类的 Shell 环境 这对希望用类 Unix 命令的开发者来说还是不够用的。 所以 MinGW 官方又推出了 MSYSMinimal SYStem相当于是一个部署在 Windows 系统里面的小型 Unix 系统环境 移植了很多 Unix/Linux 命令行工具和配置文件等等是对 MinGW 的扩展。 MSYS 对于熟悉 Unix/Linux 系统环境或者要尝试学习 Unix/Linux 系统的人都是一种便利。MSYS 和 MinGW 的安装升级都是通过其官方的 mingw-get 工具实现二者是统一下载安装管理的。 对于 MinGW-w64 项目它对应的小型系统环境叫 MSYS2Minimal SYStem 2MSYS2 是 MSYS 的衍生版不仅支持 64 位系统和 32 位系统还有自己的独特的软件包管理工具它从 Arch Linux 系统里移植了 pacman 软件管理工具所以装了 MSYS2 之后可以直接通过 pacman 来下载安装软件而且可以自动解决依赖关系、方便系统升级等。装了 MSYS2 之后不需要自己去下载 MinGW-w64可以直接用 pacman 命令安装编译链接工具和 git 工具等。 MinGW 项目主页含 MSYS http://www.mingw.org/ MinGW-w64 项目主页 https://sourceforge.net/projects/mingw-w64/ MSYS2 项目主页 https://sourceforge.net/projects/msys2/ CMake CMakeCross platform Make是一个开源的跨平台自动化构建工具 可以跨平台地生成各式各样的 makefile 或者 project 文件 支持利用各种编译工具生成可执行程序或链接库。 CMake 自己不编译程序 它相当于用自己的构建脚本 CMakeLists.txt叫各种编译工具集去生成可执行程序或链接库。 一般用于编译程序的 makefile 文件比较复杂自己去编写比较麻烦 而利用 CMake 就可以编写相对简单的 CMakeLists.txt 由 CMake 根据 CMakeLists.txt 自动生成 makefile然后就可以用 make 生成可执行程序或链接库。 本教程里面是使用 Qt 官方的 qmake 工具生成 makefile 文件没有用 CMake。这里之所以提 CMake是因为整个 KDE 桌面环境的茫茫多程序都是用 CMake 脚本构建的另外跨平台的程序/库如 Boost C Libraries、OpenCV、LLVM、Clang 等也都是用 CMake 脚本构建的。以后如果接触到这些东西是需要了解 CMake 的。 CMake 项目主页https://cmake.org/ KDE 项目主页https://www.kde.org/ Qt 工具集 Qt 官方的开发环境安装包里有自己专门的开发工具之前用过 qmake 命令。qmake 是 Qt 开发最核心的工具既可以生成 Qt 项目文件 .pro 也可以自动生成项目的 Makefile 文件。 这里将常用的 Qt 开发工具列表如下 工具说明qmake核心的项目构建工具可以生成跨平台的 .pro 项目文件并能依据不同操作系统和编译工具生成相应的 Makefile用于构建可执行程序或链接库。uicUser Interface Compiler用户界面编译器Qt 使用 XML 语法格式的 .ui 文件定义用户界面uic 根据 .ui 文件生成用于创建用户界面的 C 代码头文件比如 ui_*****.h 。mocMeta-Object Compiler元对象编译器moc 处理 C 头文件的类定义里面的 Q_OBJECT 宏它会生成源代码文件比如 moc_*****.cpp 其中包含相应类的元对象代码元对象代码主要用于实现 Qt 信号/槽机制、运行时类型定义、动态属性系统。rccResource Compiler资源文件编译器负责在项目构建过程中编译 .qrc 资源文件将资源嵌入到最终的 Qt 程序里。qtcreator集成开发环境包含项目生成管理、代码编辑、图形界面可视化编辑、 编译生成、程序调试、上下文帮助、版本控制系统集成等众多功能 还支持手机和嵌入式设备的程序生成部署。assistantQt 助手帮助文档浏览查询工具Qt 库所有模块和开发工具的帮助文档、示例代码等都可以检索到是 Qt 开发必备神器也可用于自学 Qt。designerQt 设计师专门用于可视化编辑图形用户界面所见即所得生成 .ui 文件用于 Qt 项目。linguistQt 语言家代码里用 tr() 宏包裹的就是可翻译的字符串开发人员可用 lupdate 命令生成项目的待翻译字符串文件 .ts用 linguist 翻译多国语言 .ts 翻译完成后用 lrelease 命令生成 .qm 文件然后就可用于多国语言界面显示。qmlscene在 Qt 4.x 里是用 qmlviewer 进行 QML 程序的原型设计和测试Qt 5 用 qmlscene 取代了旧的 qmlviewer。新的 qmlscene 另外还支持 Qt 5 中的新特性 scenegraph 。

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

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

相关文章

门户网站建设管理工作网站代运营服务公司

在 Python 中,类属性和实例属性是两种不同类型的属性,它们在用途和作用域上有所不同。下面是关于它们的区别的详细解释: 定义位置: 类属性:定义在类的主体中,但在任何类方法之外。实例属性:通常…

网站建设公司营业执照图片国内卖到国外的电商平台

今天研究一下LRU算法,上学期学数据结构的时候就应该学一下这个算法,不过后面操作系统也会讲到LRU算法 题目 LRU缓存leetocde146 LRU(Least Recently Used,最近最少使用)算法是一种常见的缓存替换算法,通…

深圳网站设计服有哪些网站设计比较好的公司

目录 1.grep 2.sed 3.awk 1.grep grep 擅长过滤查找,按行进行过滤 例: 当有用户对我们的主机进行爆破攻击时,我们可以使用grep将 ip 查找出来,进行封锁等处理 在 /var/log 目录下的 secure 文件中存放在用户登录连接信息&am…

政务网站队伍建设情况开发区邮编

1. 功能说明 本文示例将实现R023样机小型双轮差速底盘跟随人移动的功能。在小型双轮差速底盘前方按下图所示安装3个 近红外传感器,制作一个红外线发射源,实现当红外发射源在机器人的检测范围内任意放置或移动时,机器人能追踪该发射源。 2. 电…

营销型网站的运营配套不包括免费发布网站

预约小程序,让生活更便捷——轻松掌握未来,一键预约新体验 在快节奏的现代生活中,我们总是在不断地奔波,为了工作、为了生活,不停地忙碌着。然而,在这繁忙的生活中,我们是否曾想过如何更加高效…

网站开发不让搜索引擎网站建设公司 校园网站

明天又要去参加一次面试。每次面试的时候,面试官都会在最后给面试者一些时间,来问问题。这是个非常好的机会,能按照自己的思路,来了解职位、技术、企业文化、福利待遇、企业状况和前景等情况,以弥补前面面试过程中没有…

北京市住房与城乡建设网站百度收录WordPress文章

一个Flutter&Cocoapods项目打包问题集锦 问题1 github加速问题 cocoapods项目需要访问https://github.com/CocoaPods/Specs.git,众所周知,github经常被墙,导致经常需要借助加速来下载和访问,这里可以使用油猴脚本或者Fastgi…

自己做网站的服务器深圳哪家做网站比较好

目录前言:1、MapReduce原理2、mapreduce实践(WordCount实例) 目录 今天先总体说下MapReduce的相关知识,后续将会详细说明对应的shuffle、mr与yarn的联系、以及mr的join操作的等知识。以下内容全是个人学习后的见解,如…

网络营销的建议方案seo综合查询使用vsping工具

喜欢就关注我们吧!在当下的市场环境中,除了掌握困扰软件的最常见安全问题外,开发人员还应该了解到底是什么问题在影响他们正在使用的编程语言。静态代码分析安全公司 Veracode 最近发布了一份年度软件安全状态(SOSS)报…

做网站价格公司关于网站设计的书籍

LoadRunner LoadRunner is the premium, market leading performance testing solution for project teams. 特性 支持广泛的应用程序 极大地减少了在负载测试软件中模拟用户事务所需的时间和技能。 各种各样的连续测试 将负载测试集成到开发工具中:IDE、jUnit、nUnit、J…

什么企业时候做网站南宁网站建设优化

实战指南:企业级Linux服务器初始化优化全流程 本文基于某电商平台百万级并发服务器的真实调优案例整理,所有操作均在Rocky Linux8.5验证通过,不同发行版请注意命令差异 一、服务器安全加固(Situation-Task-Action-Result&#xff…

微网站和小程序的区别经典案例网站

目录 读取视频内容 将彩色视频转换为灰色视频 读取视频内容 读取视频文件通常分为读取文件、验证是否打开成功打开文件、逐帧读取视频文件、释放资源和关闭窗口 (1)读取文件 在OpenCV中,通常使用VedioCapture来读取视频流,Vedi…

湖北住房与城乡建设厅网站石家庄建站工具

在设计模式系列文章是阅读《设计模式之禅》之后自己新的加上在项目中的应用于思考,想要系统深入学习的朋友还是建议学习一下《设计模式之禅》,这本书中通过例子讲的更加循序渐进,也更容易理解。 理解理念 这种模式旨在让程序能够记住一个或…

h5个人博客网站模板门户 网站 asp

香港身份、香港永居身份、香港护照区别,三种证件之间是什么关系? 在港“通常性”住满7年之后,可以申请永居身份! 香港身份:也可以称之为临时身份,无论通过香港优才计划、高才通计划、专才计划或者留学拿身份…

iis7.5 网站打不开号店网站建设公司

小阿轩-yx存储引擎MyISAM和InnoDB 存储引擎概述 什么是存储引擎 是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能使用不同的存储引擎还可以获得特定的功能MySQL…

企业网站设计行业健网站怎么做

1. 开局在多线程环境中,经常会碰到需要加锁的情况,由于现在的系统基本都是集群分布式部署,JVM的lock已经不能满足分布式要求,分布式锁就这样产生了。。。百度一下,网上有很多分布式锁的方案或者例子,琳琅满…

绵阳网站建设报价西安响应式网站

【LetMeFly】2316.统计无向图中无法互相到达点对数:广度优先搜索(BFS) 力扣题目链接:https://leetcode.cn/problems/count-unreachable-pairs-of-nodes-in-an-undirected-graph/ 给你一个整数 n ,表示一张 无向图 中…

创意网站建设设计济南专业网站托管公司

原标题:考前秘籍,无形资产的定义及确认考查导向:每年考3分左右;比较简单,重要程度一般;建议与“固定资产”一章一起类比学习,效果更佳,效率更高。近三年主要考点:(1)无形…

企业网站如何优化排名阳江房产网二手房林夏婷经纪人

浅谈连续逆F类的基础理论 各种逆类型的功放好像都少引人关注,因为很多人学完正的连续B/J类和连续F类,想当然的类推到了连续逆F类上面去。貌似连续逆F类就是连续F类的电压电流交换一下而已,无需额外的注意,实际并非那么简单的。 浅…

廊坊网站建设咨询青橙网络如何建设cpa影视网站

我的最后两个博客讨论了长时间轮询和Spring的DeferredResult技术,并且为了展示这些概念,我将我的Producer Consumer项目中的代码添加到了Web应用程序中。 尽管该代码演示了博客所提出的观点,但其逻辑上确实包含大量漏洞。 除了在实际的应用程…