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

devtools/2024/9/23 2:18:40/

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

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

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


一、“ <> ”的作用

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

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

示例

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

 二、‘ "" ’的作用

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

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

示例

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

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

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

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

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


奇怪的知识又增加了! 

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

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

点赞!点赞!点赞!


http://www.ppmy.cn/devtools/43248.html

相关文章

MySQL分库分表:原理、实现与优化

推荐一个程序员的常用工具网站&#xff0c;嘎嘎好用&#xff1a;程序员常用工具 云服务器限时免费领&#xff1a;轻量服务器2核4G MySQL分库分表&#xff1a;原理、实现与优化 在现代互联网应用中&#xff0c;随着数据量的迅速增长和访问量的激增&#xff0c;单个数据库的性…

DAMA 数据管理知识体系指南:第三章 数据治理

第三章在是 CDGA|CDGP 考试的重点考核章节之一&#xff0c;知识点比较密集&#xff0c;本章重点为语境关系图及数据治理概念性的知识。建议抓住关键知识点&#xff0c;多刷题目&#xff01; CDGA考题分布&#xff1a;10题&#xff0c;共10分 CDGP考题分布&#xff1a;单选X2&am…

Java开发实习面试复盘(亚信科技)

简单介绍一下自己 除了Java还学过其他语言吗&#xff0c;你最熟悉的是什么 简单介绍一下你做过的项目 说一下Spring、SpringMVC、Spring Boot之间有什么区别 Spring是一个开源容器框架&#xff0c;可以接管web层&#xff0c;业务层&#xff0c;dao层&#xff0c;持久层的组件…

Sublime Text 基础教程(个人总结)

Sublime Text 是一款广受欢迎的代码编辑器&#xff0c;以其简洁的界面和强大的功能而著称。它支持多种编程语言&#xff0c;具有高效的代码编辑和管理功能。本教程将详细介绍如何使用 Sublime Text&#xff0c;从安装到高级使用技巧&#xff0c;帮助你充分利用这款工具。 目录…

YOLOv5白皮书-第Y4周:common.py文件解读

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、环境 语言&#xff1a;Python3、Pytorch开发环境电脑系统&#xff1a;Windows 10语言环境&#xff1a;Python 3.9.2编译器&#xff1a;VS Code显卡&#…

C#一些高级语法

目录 C# 特性&#xff08;Attribute&#xff09; 规定特性&#xff08;Attribute&#xff09; 预定义特性&#xff08;Attribute&#xff09; AttributeUsage Obsolete 创建自定义特性&#xff08;Attribute&#xff09; 声明自定义特性 构建自定义特性 C# 反射&#…

软件测试面试题(八)

一&#xff1a;TestDirector有哪些功能&#xff0c;如何对软件测试过程进行管理&#xff1f; 需求管理 定义测试范围 定义需求树 描述需求树的功能点 测试计划 定义测试目标和测试策略 分解应用程序&#xff0c;建立测试计划树 确定每个功能点的测试方法 将每个功能点连接…

一个普通双非女生的秋招之路

大家好&#xff0c;我是小布丁。 先简单地做个自我介绍&#xff1a; 我今年本科毕业于某双非院校&#xff08;属于那种没什么人听说过的小学校&#xff09;&#xff0c;学的是计算机专业&#xff0c;英语四级水平&#xff08;没办法&#xff0c;六级确实没过&#xff09;。我本…