VS QT 里头文件的<>和““的区别

Qt/C++单例模式实战:饿汉式与懒汉式的线程安全实现与Qt适配 单例模式是软件设计中一种重要的创建型模式,其核心原理是确保一个类仅有一个实例,并提供全局访问点。这一设计在C++等系统级语言中尤为关键,因为它直接关系到资源管理、内存使用和程序稳定性。从技术价值看,单例模式能有效管理全局状态,避免资源重复分配,在日志系统、配置管理、数据库连接池等场景中应用广泛。在Qt框架下,结合其特有的信号槽机制和对象树生命周期管理,实现单例模式需额外考虑线程安全和Qt对象集成。本文聚焦于**饿汉式**与**懒汉式**两种主流实现路径,深入探讨它们在Qt/C++项目中的具体应用、线程安全策 阅读详情

今天在跑项目的时候遇到这么个问题,在添加api宏定义的时候,不加显示无法识别的外部错误,加了显示找不到文件。反正就是怎么都是错的,但是我检查了CmakeLists、模块所在文件夹、项目路径都是没有问题的。非常奇怪。

然后就开始尝试各种可能的错误,最后死马当活马医的改了一下头文件引入符号,把引入<xxxapi.h>文件改成了"xxxapi.h",哎奇了个怪了,就跑通了。明明<>的搜索范围是包含了""的,咱也不知道为什么就是不行,只能说编码规范问题,多注意吧。

正好乘此机会,总结一下<>和""的区别,给自己提个醒。


一、“ <> ”的作用

<>:通常用于引用标准库头文件或系统提供的库头文件。编译器会在标准系统路径下搜索这些头文件。

敲重点,编译器会在标准系统路径下搜索这些头文件。

示例

#include <iostream> // 引用标准库头文件
#include <QtCore/QDebug> // 引用 Qt 核心模块的头文件

 二、‘ "" ’的作用

"":通常用于引用自定义或项目特定的头文件。编译器会首先在当前项目目录下搜索这些头文件,然后再搜索系统路径。

敲重点,编译器会首先在当前项目目录下搜索这些头文件。

示例

#include "mycustomclass.h" // 引用项目中自定义的头文件

明确了二者的搜索范围,我们就清楚了最开始的问题: 

对于自定义的头文件,理论上来说,使用<>也应该能够找到头文件,前提是需要将自定义头文件放在编译器能够搜索到的标准系统路径下。但通常情况下,我们更倾向于使用""来包含自定义的头文件,因为这样更直观和方便。 

如果自定义头文件放在了系统标准路径下,使用 < > 是可以找到的。但如果头文件放在项目目录下或其他非系统路径下,使用 " " 是更好的选择,因为这样可以明确告诉编译器去当前项目目录下搜索。

而实际操作上也看到了,说是可以找到,但是我就没有找到。所以大家还是按编码规范来最好!


奇怪的知识又增加了! 

都看到这里了,点个赞再走呗朋友~

加油吧,预祝大家变得更强!

点赞!点赞!点赞!

VS2017找不到QT头文件 原理是:vs导入qt项目附加包含目录继承值有Qt_INCLUDEPATH_发现波纹线不见了,证明设置环境变量后VS能识别到QT头文件了。 阅读详情

相关推荐

Oracle数据库安装图文教程 附百度云oracle Database 11g 安装包

一,Oracle数据库安装包下载 1.从Oracle官网下载所需的数据库安装包【下载需要注册登录Oracle账户】     http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 2.此处有下载好的Oracle Database 11g Release 2  百度云网盘  提取码:z...

向来如此,就一定是对的吗 6万+

Qt界面优化:动态隐藏与禁用PushButton的实用技巧

本文深入探讨了Qt界面开发中动态隐藏与禁用PushButton的实用技巧。从基础属性setVisible与setEnabled的正确使用场景,到利用信号与槽机制优雅管理复杂状态,再到通过样式表与动画提升视觉体验,文章提供了一套完整的优化方案,帮助开发者构建更智能、用户体验更佳的Qt应用程序界面。

weixin_29208327的博客 381

康耐视 VisionPro CogImageFileTool(将获得的图像保存至文件或从文件中获取图像)工具

VisionPro CogImageFileTool(将获得的图像保存至文件或从文件中获取图像)工具

zhihuishuxia__的博客 2064

Qt基础入门知识

[Qt基础知识] 创建一个qt widgets应用,文件结构如下 1.程序简要说明 main.cpp是程序的主入口 首先创建一个Mainwindow对象 然后调用show函数 编辑界面则在mainwindow.cpp里面 可以通过ui指针来访问界面文件 2.信号与槽机制 槽函数是一种回调函数 首先利用connect方法,将信号和槽连接起来 其中参数代表的依次是信号的发送者的指针,信号的指针,接收放的指针,槽函数指针,连接类型(可选) 然后在mainwindow.h里面

Christina_Clbert的博客 853

Amesim(五):单个悬架系统搭建

一、组成 单个悬架系统组成包括:端子,质量块*2,弹簧,阻尼器,速度路面反馈,路面激励。 二、搭建 打开Amesim,在 library 选择 1D Mechanical 选择质量模块,添加到skech中,并按 ctrl+r 旋转质量块,将箭头朝上,设置规定的力传递正方向 添加弹簧阻尼器,与质量块连接 添加VX模块,将路面的激励传递转化为速度和位移,传递给悬架系统 在...

林小川的博客 7169

HFSS简要教程--无线能量传输线圈仿真

关于无限能量传输线圈仿真简要教程

asdmoon18的博客 2547

VS中使用QT的UI提升类时,找不到头文件的情况

在使用VS时,会发现与QCreator存在一些差异。最主要的就是要设置很多东西,如果不配置的话,就会遇到一些问题。下面我分享下我调试过程中遇到的一个问题。使用Qdesigner的UI提升类时,找不到头文件的情况:QCreator使用时情况:能正常运行。移植到VS上时:编译报错!提示找不到头文件。

MasterPJ的博客 1906

手把手教你完成基于cnn的手写数字识别系统MATLAB语言

手写数字识别是经典的 CNN 分类应用之一,常用的数据集就是 MNIST 手写数字数据集,包含 0~9 这 10 个数字的手写图片,每个数字都由 6 万幅训练图像和 1 万幅测试图像构成。为了便于直观分析,这里选择 MATLAB 工具箱提供的 DigitDataset 进行训练识别,读者也可以直接利用 MNIST 数据集或者自己设计的数据集进行实验。其中,数据集文件夹 db 如图 所示。在数据集文件夹 db 里面对每个数字都建立了子文件夹,各自包含 1000 幅 28×28 大小的二维灰度图像。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1368

VS+QT创建QT项目后头文件报红

安装Qt、VS2017和Qt VS Tool 后创建项目无法找到头文件,点击编译运行又可以执行。

sinat_27674731的博客 3475

YOLO26 数据标注工具:LabelImg、Label Studio实战指南:主流标注工具的安装配置与使用技巧,高效完成目标检测数据标注

本文介绍了目标检测中数据标注的核心地位与常用工具。数据标注质量直接影响模型性能,需要关注准确性、一致性等维度。文章详细讲解了边界框、类别标签等基本概念,并对比了LabelImg、Label Studio等主流标注工具的特点。重点介绍了LabelImg的轻量级、易用性等优势,以及Label Studio的协作功能,为不同规模项目提供标注工具选择建议。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1177

【用unity实现100个游戏之1】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(二)(附源码)

这篇文章我们将继续实现曲线射击与两种不需要实体子弹的射击方式 源码在文章末尾。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 5061

VS+QT项目配置—输出,调试,库,头文件设置 —VS QT项目往 QT Creater做迁移

输出,调试,库,头文件设置 修改解决方案的QT版本 VS QT项目往 QT Creater做迁移 链接:http://download.qt.io/archive/vsaddin/2.2.1/ 下载一个vs qt 工具安装后重启vs 就可以了,我这里采用的是vs2015对应的下载msvc2015版本就可以了。 打开vs 新建项目出现QT选项 所有文件名小写,这样方便跨平...

我的博客 2325

阿里云 Docker 镜像加速收费后:这些免费替代方案值得收藏

阿里云Docker镜像加速服务收费后,国内开发者急需免费替代方案。本文推荐2025年仍可用的7个免费镜像源,包括轩辕镜像、DaoCloud、网易云等,并提供多源配置方案以提高稳定性。建议开发者在CI/CD环境中配置多个镜像源,避免构建失败。文章还提供了详细的配置步骤和使用建议,适合个人和团队开发者参考。

sg_knight的专栏 1931

QT .pro文件解析(秒懂)

1.pro文件的作用 QT工程的pro文件,在创建工程时由QTCreater自动创建,我们可以往里面添加内容,增加库文件的声明,包含路径、预处理器定义,生成目录,输出中间目录等等设置。 2.一个简单的示例 QT += core gui charts greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = qcharts TEMPLATE = app DEFINES += QT_DEPRECATED_WARNINGS SOU

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

android 蓝牙通讯demo

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

Qt环境下MQTT客户端完整实现:协议解析与工程实战

MQTT作为物联网场景下最主流的消息传输协议,基于TCP的轻量级设计使其在低带宽、高并发的设备通信中表现出色。理解其报文结构、QoS分级、心跳保活与遗嘱消息等核心机制,是开发可靠客户端的基础。在实际工程中,采用C++与Qt框架构建MQTT客户端,能够利用信号槽机制高效处理异步事件,同时解决连接管理、断线重连、消息收发等关键问题。从协议原理到代码落地,再到本地Broker环境的搭建,本文完整呈现了一个可运行的Qt MQTT客户端项目,适合入门开发者与需要对接Broker的工程师参考。通过抓包比对与端到端验证,

weixin_34326429的博客 329

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【无标题】

预处理:处理 头文件、条件编译指令和宏定义,获得全部是常量的代码。优化编译:优化代码,编译成汇编代码(汇编代码主要给人看的)汇编:根据操作系统将汇编代码转换成机器码(机器码是二进制,机器可以直接执行的,每一个汇编语都对应一条机器码)一个CPP文件生成一个目标文件(.obj)链接:整合所有的目标文件(.obj) ,重定位符号(变量)的虚拟地址 最后和 需要的静态库(.lib) 链接成一个可执行的文件(.exe)

wo1piao09的博客 115

VTK 9.x+Qt Windows开发:CMake编译、QVTKOpenGLNativeWidget与调试全攻略

三维可视化开发中,VTK和Qt的组合是医学影像、点云处理等领域的黄金搭档。VTK 9.x全面转向模块化架构,通过CMake与Qt深度集成,其中QVTKOpenGLNativeWidget作为核心渲染窗口组件,依赖OpenGL上下文管理。理解这一原理,就能理解为何编译器、CMake选项、DLL路径任一环节失配都会导致失败。从技术价值看,正确配置CMAKE_PREFIX_PATH、VTK_GROUP_ENABLE_Qt等关键参数,能从根本上规避“Unknown module”、链接错误等高频问题。在Window

weixin_28839629的博客 224

安装CGAL

参照别人收集:http://blog.youkuaiyun.com/zhoucy163/article/details/8134595 1 安装CMake 下载最新版本CMake:http://www.cmake.org/cmake/resources/software.html 如图安装完后能够自动添加环境变量: 2 安装boost 参照转载文章:VS2008下直接安装使用Boost库1...

weixin_30455067的博客 91

卫星系统算法课程设计 - 第五部分 us多边形分割

卫星系统算法课程设计,多边形分割

aaaa_huihui的博客 501

Linux命令及使用方法new

本文总结了Linux系统管理与开发环境配置的实用技巧,涵盖了常用命令、工具配置和问题解决方法。主要内容包括:Linux基础操作(文件/目录管理、vim编辑器、权限控制);系统资源监控(du/df命令);文本处理(grep/cut/awk);Ubuntu系统问题排查;开发工具链配置(Anaconda/Virtualenvwrapper/Jupyter);终端增强(cmder/Screen);IDE使用(VSCode/Visual Studio);非root权限软件安装;Windows冷门知识;LaTeX语法;

zhjadsf的博客 3217

qt中的一般使用操作

信号和槽的相关问题: 工作后发现,使用信号和槽的时候,如果给信号和槽传入一个比较复杂的类型的话需要注册一下这个类型: 例如: qRegisterMetaType<Mat>("Mat"); qRegisterMetaType<e_CameraType>("e_CameraType"); connect(m_Parameter, SIGNAL(SendAlgoImageToMainWindow(Mat, e_CameraType, int, bool)), thi

qq_42317817的博客 254

Vs2022中找不到QT头文件的思考

VS QT项目中无法打开包括文件: “QtWidgets/QWidget”: No such file or directory”

liyangbinbin的博客 6299

Qt中h文件和cpp文件引用符号的区别

尖括号<>:表明这个文件是一个工程或标准头文件。查找过程会首先检查预定义的目录,我们可以通过设置搜索路径环境变量或命令选项来修改这些目录。 引号“ ”: 起来,则表明该文件是用户名提供的头文件,查找该文件时将从当前文件目录(或文件名制定的其他目录)中寻找文件,然后在标准位置寻找文件。 ...

qq_32025005的博客 1013

VS中,#include<>和#include“ “的区别

VS中,#include<>和#include" "的区别

dingdingdinging的博客 784

QT.和::和:和->

在学习C++的过程中我们经常会用到.和::和:和->,在此整理一下这些常用符号的区别。 1、A.B则A为对象或者结构体 2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针; 3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构; 4、:一般用来表示继承; ...

程序猿进化梯 1887

VS中,#include<>和#include“”的区别

【代码】VS中,#include<>和#include“”的区别。

玩火的稻草人的博客 989
上一篇: Google C++编程风格指南:cpplint报错信息解决汇总
下一篇: 【Qt问题】QStringLiteral、QString、QLatin1String简单区分
从一的
博客等级 码龄5年 1995粉丝 213原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值