Qt Creator中,include路径包含过程(或如何找到对应的头文件)
Qt Creator中,include路径包含过程(或如何找到对应的头文件)
利用Qt Creator开发程序时,需要包含利用#include来添加头文件。
大家都知道,#include <>用于包含标准库头文件,路径在安装软件的include文件夹下;#include ""用于包含用户自定义的,路径是在用户当前目录下(或自建工程目录下)。
对于后者,路径比较直观,容易理解。如#include "lyc/daniel.h",路径在当前目录的lyc文件夹下。(文件包含是可以嵌套的。)
下面重点追溯一下Qt的标准库头文件的路径包含情况。
1.新建一个GUI工程,可以看到在mainwindow.h文件中有#include <QMainWindow>
2.在Qt的include路径下,可以看到里面是文件夹,而不是文件,这是为什么呢?
3.打开工程里的pro文件,便可知道已经包含了二级目录QtCore和QtGui
即添加了include里的两个文件
4.在include文件夹下搜索QMainWindow(注意不带.h),可以看到在include\QtGui目录下找到了QMainWindow
5.用文本打开QMainWindow,可以看到
6.再打开QtGui路径下的qmainwindow.h文件(与QMainWindow在同一路径)
可以看到,路径发生了跳转,从当前路径往上跳两个路径,再从src文件下依次找到qmainwindow.h文件
7.打开qmainwindow.h文件,可以看到
至此,可以看出找到了目标头文件。
在进行编译的时候,该文件内的代码会被拷贝到#include <QMainWindow>处
文档信息
- 版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0
- 博客网址:http://blog.csdn.net/lyc_daniel/article/details/12103189
- 博 主: lyc_daniel
- 寄 语:神爱世人,甚至将他的独生子(耶稣)赐给他们,叫一切信他的,不至灭亡,反得永生。(圣经·约翰福音3:16)
Qt Creator中,include路径包含过程(或如何找到对应的头文件)的更多相关文章
- Qt Creator中的3D绘图及动画教程(参照NeHe)
Qt Creator中的3D绘图及动画教程(参照NeHe) http://blog.csdn.net/cly116/article/details/47184729 刚刚学习了Qt Creator,发 ...
- 如何在Qt Creator中导入图标资源
本文主要描述如何在Qt Creator中创建资源文件,并的打入导入图标文件. 查看图标资源文件时,可以在项目的工程文件上鼠标单击右键-Open With-资源编辑器,效果如下图所示: 在项目的工程文件 ...
- Qt creator中配置opencv win7 64bit
配置方法的原文来自https://www.librehat.com/qt-5-2-vs2012-opencv-2-4-7-dev-environment-setup-tutorial/. 补充,在张静 ...
- qt creator中使用qwt插件
前提:我用mingw编译的qwt. 将qwt插件集成到qt designer非常easy.仅仅要把qwt编译的qwt_designer_plugin.dll复制到C:\Qt\Qt5.3.1\5.3\m ...
- Qt Creator中使用qss对界面美化没有作用(效果)的问题
最近在研究qt界面开发,发现使用qss对界面进行美化后效果不错,要比mfc效率高很多,美化效果也很出色.但是在使用qss文件对界面控件进行美化的过程中遇到了个很奇葩的问题,困惑了我好久,今晚又遇到了, ...
- Windows XP 下如何使用Qt Creator中的Git版本控制功能
原文地址:http://www.qtcn.org/bbs/simple/?t16960.html Qt Creator是针对Qt应用开发平台专门设计的IDE开发工具,集成了很多功能,分别有win ...
- Qt在VS2013或Qt Creator 中的控制台输出方式设置
首先值得注意的是:在写程序的时候,项目保存路径不要涉及到中文,否则容易出错! 一.Qt在VS2013中的控制台输出方式: 注意:这里是而不是Qt Application. 然后直接点击finish即可 ...
- qt creator中编辑Makefile的设置
在qt creator中编辑Makefile时的Tab键总是不能识别,需要这样设置
- Qt Creator中如何选择某个子项目为启动项目
Qt Creator中的子目录项目类似于Visual Studio中的Solution(解决方案),可以用来管理多个子项目.但是在Qt Creator IDE中由不能像Visual Studio中那样 ...
随机推荐
- synchronized 与 Lock 的那点事
最近在做一个监控系统,该系统主要包括对数据实时分析和存储两个部分,由于并发量比较高,所以不可避免的使用到了一些并发的知识.为了实现这些要求,后台使用一个队列作为缓存,对于请求只管往缓存里写数据.同时启 ...
- MongoDB的数据类型
最近在写一个lua的MongoDB模块.MongoDB版本3.2,lua则是5.3.1.底层以C++来写,再把函数暴露给lua调用.但是在lua中打印结果时,发现了些奇怪的现象.首先,数据库中的内容: ...
- Grails教程
1简介- Reference DocumentationVersion:null Table of Contents 1.1Grails 2.0有那些新特性?1.1.1面向开发的特性1.1.2核心特性 ...
- 关于UIView 的autoresizingMask属性,即UIViewAutoresizing
enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 &l ...
- 10、Cocos2dx 3.0游戏开发找小三之容器篇:Vector、Map、Value
重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27705613 容器 3.0版本号之前Cocos2d- ...
- oracle递归函数
oracle start with connect by 使用方法 oracle中 connect by prior 递归算法 Oracle中start with...connect by prio ...
- [小技巧][ASP.Net MVC Hack] 使用 HTTP 报文中的 Header 字段进行身份验证
在一些 Web 系统中,身份验证是依靠硬件证书进行的:在电脑上插入 USB 证书,浏览器插件读取证书的相关信息,然后在发送 HTTP 登录请求时顺便在 Header 字段附加上身份信息.服务器端处理这 ...
- Mac打造python2 python3开发环境
最新版的MacOS Sierra默认带的python环境仍然为2.7.10,本文将介绍使用Brew安装python3.5并做简单的配置,打造python2,python3共存的开发环境 直接尝试bre ...
- (五)《Java编程思想》——final关键字
可能使用final的三种情况:数据.方法.类. 1.final数据 final 常量必须是基本类型数据,且在定义时须赋值: 一个既是static又是final的域只占据一段不能改变的存储空间,只有一份 ...
- Sass函数--数字函数
数字函数简介 Sass 中的数字函数提要针对数字方面提供一系列的函数功能: percentage($value):将一个不带单位的数转换成百分比值: round($value):将数值四舍五入,转换成 ...