C++跨目录include问题

news2025/1/21 18:56:32

不同文件夹下使用预处理器指示符#include

使用举例

假设我们有如下一个工程,其中包含了几个源代码和头文件,其中main.cpp是主源代码文件,里面含有main函数:

在foldder main中包含:func4.hpp,func4.cpp,文件夹folder1和文件夹folder3

#include "func4.hpp"

 在folder1中包含:main.cpp,func1.hpp,func1.cpp和文件夹func2。

#include "func1.hpp"

在folder2中包含:func2.hpp和func2.cpp

#include "func2.hpp"

在folder1中包含头文件func4.hpp

#include "../func3.h" 
//这里main.c和func3.h不在在同一个文件下,但文件夹main和func3.h同级。"../func3.h"表示main.c上一级文件(base)夹下的func3.h头文件。

在folder1中使用func3.hpp

#include "../folder3/func3.hpp"
//这里main.cpp和func3.hpp不在在同一个文件下,
//但文件夹folder1和文件夹folder3同级。
//![在这里插入图片描述](https://img-blog.csdnimg.cn/39733c0e1e59468a96a7b3730dfebc47.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ZOI5Zi7aGFzaA==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)

"..\folder3\func3.hpp"表示main.cpp上一级文件夹(folder main)下的folder3文件夹下的func4.hpp头文件。

注1:

DOS命令中"cd…“和这里的”…"有类似的作用。
注2: #include “…/folder3/func4.hpp”

    “#include” 可读作 “包含当前源代码或头文件”
    “…” 可读作 “上一级文件夹”
    " " 可读作 “下的”
    “folder3” 可读作 “folder3文件夹”
    “func4.hpp” 可读作 “func4头文件”
    连起来就是: “包含当前源代码或头文件上一级文件夹下的folder3文件夹下的func3头文件”。

注3:

用#include 加载头文件时,"./“表示当前目录,”…/"表示当前目录的上一级目录。注意!这个当前目录不是工程所在的目录,而是该文件所在的目录。
在include中,’/‘与’'的功能貌似一样,#include "…/math/Vector3.h"与#include "…\math\Vector3.h"也貌似等价。

在字符串中,’‘是转义字符,要表示’’,在字符串中应写为’\’,因此"…/A/B/C.exe"与 "…\A\B\C.exe"等价。
 

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

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

相关文章

C语言结构体详解(二)(能看懂文字就能明白系列)文章很长,慢慢品尝

系列文章目录 第一章 结构体的介绍和基本使用 🌟 个人主页:古德猫宁- 🌈 信念如阳光,照亮前行的每一步 文章目录 系列文章目录🌈 *信念如阳光,照亮前行的每一步* 前言前面一篇文章主要介绍了结构体的基础…

Java 使用对应arthas 调试程序

1、作用 使用 arthas 可以进行如下操作 ① 抓取对应函数的耗时结构,然后分析对应的代码优化代码 ② 抓取对应函数的 入参、出参函数 ③ 重放对应的函数执行 ④ 查询对应程序占用结构,比如 cpu, jvm ⑤ 查询对应的 执行最频繁的 线程 ⑥ 打印函数…

震惊!我和GPT玩了一天游戏·····

最近开始研究如何基于GPT构建一个游戏引擎,于是先从简单的文字游戏开始探索。 从最简单的选择机制、故事机制,完善成一个包括天气、事件、技能、属性、伙伴、建造系统的-生化危机版文字游戏-。 我唯一的体验是:AI游戏,大有可为! …

C++11--右值引用

目录 基本概念 左值和右值 左值引用和右值引用 右值引用使用场景和意义 左值引用使用场景 左值引用的短板 右值引用和移动语义 右值引用引用左值 右值引用的其他使用场景 完美转发 万能引用 完美转发保持值得属性 完美转发使用得场景 基本概念 左值和右值 什么…

二叉树链式结构的实现和二叉树的遍历以及判断完全二叉树

二叉树的实现 定义结构体 我们首先定义一个结构来存放二叉树的节点 结构体里分别存放左子节点和右子节点以及节点存放的数据 typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTreeNode* left;struct BinaryTreeNode* right; }BTNode;…

solidity实现ERC20代币标准

文章目录 IERC20ERC20Remix 编译部署 IERC20 IERC20 是 ERC20 标准的接口规范,它定义和规范了一个标准 ERC20 代币合约应该实现的功能。这里让 ERC20 合约直接继承自 IERC20 接口。 // SPDX-License-Identifier: MIT pragma solidity ^0.8.4;interface IERC20 { // …

2023软件测试大赛总结

2023软件测试大赛总结 文章目录 2023软件测试大赛总结软件下载方式比赛方式个人总结断言使用java基础 预选赛省赛国赛 软件下载方式 进入官网下载插件(直接下载一个完整的Eclipse就可以,这样比较方便) 需要保证jdk版本和要求的一致,不然可能…

【Spring Boot 源码学习】ApplicationContextInitializer 详解

Spring Boot 源码学习系列 ApplicationContextInitializer 详解 引言往期内容主要内容1. 初识 ApplicationContextInitializer2. 加载 ApplicationContextInitializer3. ApplicationContextInitializer 的初始化 总结 引言 书接前文《初识 SpringApplication》,我们…

LeetCode(50)有效的括号【栈】【简单】

目录 1.题目2.答案3.提交结果截图 链接: 有效的括号 1.题目 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合…

Linux基础项目开发1:量产工具——页面系统(六)

前言: 前面我们已经将显示系统、输入系统、文字系统、UI系统全部搭建好了,下面就到了开发板页面的布局,也就是实现按钮在开发板页面上的每个位置,下面让我们一起实现页面的搭建与布局设计吧。 目录 一、数据结构抽象 page_manager…

报考公务员简历(精选8篇)

想要成功进入公务员队伍,一份出色的个人简历是必不可少的。本文为大家精选了8篇报考公务员的个人简历案例,无论是应届毕业生还是有工作经验的求职者,都能从中汲取灵感,提升简历质量。找到心仪的公务员岗位。 报考公务员简历模板下…

java 工具类: CompareUtils(比较对象字段值变化)

一、前言 我们在工作中,可能会在日志中记录数据的变化情况或者在公共处理的数据增加一个日志页面,记录每次修改的变化。我们可以根据CompareUtils工具类比较数据前后发生了怎样的变化, 这样我们就可以知道数据做了哪些改变. 二、条件限制 在写这个通用…

Ontrack EasyRecovery2024数据恢复软件详细功能介绍

Ontrack EasyRecovery2024是一款功能强大的数据恢复软件,它可以帮助用户从各种存储设备中恢复丢失或删除的数据。它支持多种文件系统和文件类型,可以恢复包括照片、视频、音频、文档、电子邮件和归档文件等不同类型的数据。 EasyRecovery15Mac版本下载如…

轻易云AI:引领企业数智化转型提升企业AI效率

近期,轻易云AI与汤臣倍健的合作引起了业界的广泛关注。通过这一合作,轻易云AI不仅成功打造了集团小汤AI助手这一标志性的企业智能助手,更重要的是,这一合作凸显了轻易云AI作为专业AI应用集成专家的核心能力。轻易云AI已成功集成了…

柯桥西班牙语学校|实用西语吉祥话,场景都帮你想好了

1. ¡Feliz cumpleaos! Que este da est lleno de alegra, amor y bendiciones. (祝你生日快乐!愿这一天充满欢乐、爱和祝福。) 2. ¡Hey [nombre del amigo/a]! Sabes qu da es hoy? ¡Es tu cumpleaos! Quera aprovechar para desearte un da lleno…

SSL证书如何影响SEO优化结果?

1.搜索引擎偏好:谷歌、百度等主流搜索引擎明确表示,他们会优先收录并给予使用HTTPS协议的网站更高的排名。这是因为HTTPS提供了一种更为安全的浏览环境,有助于提升用户的信任度和满意度。 2.用户体验:安装SSL证书可以提高网站的信…

【面试攻略】Oracle中blob和clob的区别及查询修改方法

大家好,我是小米,欢迎来到小米的技术小屋!今天我们要一起来聊聊一个在面试中常常被问到的问题——“Oracle中Blob和Clob有啥区别,在代码中怎么查询和修改这两个类型的字段里的内容?”别急,跟着小米一步步揭…

WordPress付费阅读、付费下载、付费复制插件推荐

如果我们是用WordPress内核程序,我们可以用插件解决这个功能。现在市面上小编有看到三款WordPress内容付费或者是有的称作WordPress会员插件,可以实现WordPress付费阅读、付费下载,甚至付费复制的功能。在这几个插件中,简单的盘点…

文案二次创作软件,文案二次创作的软件

文案创作成为品牌传播和营销不可或缺的一环。对于许多从业者而言,文案创作常常是一项既耗时又耗力的工作。为了解决这一文案创作的难题,市场上涌现出了众多的智能文案生成工具。我们通过对这些工具的介绍和分析,希望能够为你提供一些在文案创…

微服务实战系列之Redis

前言 云淡天高,落木萧萧,一阵西北风掠过,似寒刀。冬天渐渐变得更名副其实了,“暖冬”的说法有点言过其实了。——碎碎念 微服务实战系列之Cache微服务实战系列之Nginx(技巧篇)微服务实战系列之Nginx微服务实…