我有一个问题。
我当前的项目有一个我在开头包含的标题。我这样包括它:
#include <C:/Data/Programming/Project_2018/Files/header.h>
这被证明是一个问题,因为我无法将其移植到另一台计算机上。我的问题是,我是否可以对#include进行某种更改以强制编译器在与使用它的c文件相同的文件夹中查找此header.h?
#include <.../Files/header.h>
用...表示包含main.c文件的文件夹?
这个项目的最终目的地是一个zip文件夹,可以在任何计算机上使用,所以我需要这个便携性......
任何线索?
答案 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也可能相关。