Pyt*_*ser 3 c++ shortcuts relative-path header-files
几天前我开始用C++编写代码.我使用Windows作为我的操作系统来编写代码.我一直把所有"写得很好"的代码保存在一个地方.现在,我正在开发一个需要使用这些代码的项目.因此,我计划在项目中包含我需要的那些文件作为头文件.但是,为了使我的项目"自包含",我创建了我需要的那些文件夹的快捷方式,并将它们保存在我的新项目的源文件夹中,并决定使用相对路径来访问include项目中" "语句中的快捷方式.
但是,我收到了一个错误.有没有办法include在Windows中的C++语句中使用相对(或通常是绝对的)快捷方式路径?
谢谢.
这实际上取决于您如何包含头文件.
如果你包括双引号,例如
#include "some_header_file.h"
Run Code Online (Sandbox Code Playgroud)
然后相对路径来自当前文件位置.
如果你包括使用角括号,例如
#include <some_header_file.h>
Run Code Online (Sandbox Code Playgroud)
然后相对路径基于系统包含路径.
您始终可以添加系统包含路径的路径.如何做取决于您的环境和编译器.如果您正在使用Visual Studio,则进入项目属性对话框,在"C/C++"/"常规"选项卡中,有一个名为"Additional Include Directories"的字段,您可以在其中添加目录.(这适用于VS 2015,在其他版本上可能略有不同.)
关于双引号包含.让我们说你的项目层次结构看起来像这样(在磁盘上!):
Project |-- Include |-- Source | `-- MoreSource `-- Other
在Project/Source你有你的源文件,如果其中一个想要包含头文件Project/Include,那么它将看起来像
#include "../Include/header.h"
Run Code Online (Sandbox Code Playgroud)
现在,如果您有一个源文件,Project/Source/MoreSource它想要包含相同的头文件
#include "../../Include/header.h"
Run Code Online (Sandbox Code Playgroud)
将Project/Include目录添加到系统头搜索路径可能很有用.您仍然可以使用双引号来包含文件,因为如果找不到它们,那么预处理器也将搜索系统路径,但您不需要"完整"相对路径.如果添加Project/Include到系统标题路径,则可以只写
#include "header.h"
Run Code Online (Sandbox Code Playgroud)
要么
#include <header.h>
Run Code Online (Sandbox Code Playgroud)
但要小心,如果您的头文件与实际系统头文件同名,则可能会遇到一些问题.
| 归档时间: |
|
| 查看次数: |
2506 次 |
| 最近记录: |