在便携式ZIPPED文件夹中包含.h文件

时间:2018-05-27 15:18:19

标签: c c-preprocessor include-path

我有一个问题。

我当前的项目有一个我在开头包含的标题。我这样包括它:

#include <C:/Data/Programming/Project_2018/Files/header.h>

这被证明是一个问题,因为我无法将其移植到另一台计算机上。我的问题是,我是否可以对#include进行某种更改以强制编译器在与使用它的c文件相同的文件夹中查找此header.h?

#include <.../Files/header.h>

用...表示包含main.c文件的文件夹?

这个项目的最终目的地是一个zip文件夹,可以在任何计算机上使用,所以我需要这个便携性......

任何线索?

1 个答案:

答案 0 :(得分:2)

是的,您可以在C中使用相对包含。如果您从包含main.c的目录进行编译,#include "header.h"将适合您。请注意双引号,它告诉编译器查看源树,而不是包含路径。

如果您的目录结构是这样的:

.../files/
.../files/main.c
.../files/include/header.h

然后你会想要#include "include/header.h"。你也可以向上移动树,所以用

.../files/src/main.c
.../files/include/header.h

你可以#include "../include/header.h"。路径为unix-y,在unix中,..是父目录。

This question也可能相关。