如何在C++中链接包含

How to chain include in C++?

本文关键字:链接 包含 C++      更新时间:2023-10-16

我不知道这个的正确术语,所以请原谅我的帖子标题。我希望我的工作区干净整洁,所以我想也许我应该重新组织我为游戏编写的库的文件结构。我有一个文件结构,如下所示:

MyLibrary/include
MyLibrary/src

这样做的问题是,在客户端方面,他们有义务做这样的事情:

#include "MyLibrary/include/myfile.hpp"

我希望它看起来像这样:

#include "MyLibrary/myfile.hpp"

如何使用C++实现此目的?

谢谢!

如果您希望它看起来像 #include "MyLibrary/myfile.hpp" ,请使您的包含目录如下所示:

MyLibrary/include/MyLibrary/*.hpp

然后,在您使用的任何构建系统中,将MyLibrary/include添加到包含路径中。

例如,对于 GCC,您可以将-I local/path/to/include添加到调用中。有关说明,请查看特定构建系统的文档。

包含文件在包含目录路径(目录列表)中查找。例如,使用 gcc,您可以使用

#include "myfile.hpp"

并通过添加选项进行编译 -I

gcc -I MyLibrary/include ...other options...

请注意,您可以多次提供选项-I

我知道的编译器没有办法"跳过"路径的一部分......即使

MyLibrary/myfile.hpp

解析为

MyLibrary/include/myfile.hpp