c - #include "existing file"失败 : no such file (C)

标签 c gcc include makefile

使用 gcc 编译 C。 虽然

#include "/absolute/path/to/my/file" 

工作正常,

#include "../../relative/path/to/my/file" 

失败并显示“没有这样的文件或目录”。仅当文件放置在项目目录之外时才会发生这种情况。文件具有读取权限。可能是什么原因?

最佳答案

使用格式时

#include "some_file.h"

默认情况下,预处理器会在与源文件相同的目录中查找,如果在该目录中找不到该文件,则会在头文件搜索路径中查找。

如果头文件与源文件不在同一目录中,并且不在预处理器搜索路径的目录之一中,则不会找到它。

可以编写相对路径或完整路径:

#include "../some_directory/some_file.h"

关于c - #include "existing file"失败 : no such file (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21970511/

相关文章:

c - 左键单击托盘图标上下文菜单后发送了什么消息?(windows api)

c - 如何在我的项目中使用 Linux like CONFIG_* 配置?

c++ - Windows Subsystem for Linux (WSL) 下的间歇性随机 'file not found' 错误

c - 结构、类型定义和 C 头文件;如何在没有 .c 文件的情况下集成

c - mbedtls 版本之间有什么区别? Mbed TLS 2.xx.x 和 2.x.xx

sql - 如何处理 libpq 中的 UTF-8 编码错误?

c - 为 GCC 运行 "light"预处理器

javascript - 将外部 javascript 文件包含到 html 中的不同方法有哪些?

php - 包含在 PHP 中的路径问题

python - Django 模板 : Embed css from file