即使路径在项目的包含目录中,Eclipse 也需要头文件的路径

时间:2021-03-28 17:51:10

标签: c eclipse-cdt

我必须将 Eclipse 用于我要添加和修改的现有 C 项目,但我无法弄清楚如何设置包含路径,所以我不必做这样的事情:

#include "../other_folder/foo.h"

我已经进入:

项目属性 | C/C++ 通用 |路径和符号

并选择包含选项卡。

然后为语言选择了 GNU C,然后添加了相对路径。因此,例如,将 /other_folder 添加到包含路径列表中。

但是,我仍然需要在源代码中输入标头的相对路径。

我是否要求 Eclipse 在期望能够添加这些路径并能够做到的事情上无法做到:

#include "foo.h"

而不是

#include "../other_folder/foo.h"

在任何源文件中?

我什至尝试在项目包含中放置绝对路径,而不是相对路径,但这也不起作用。更奇怪的是 Eclipse 给出了一条消息,即相对路径不明确!

我见过这个:

Eclipse can't find header file, even though include paths are set

但他的解决方案与此无关,我看不到那个扳手。我浏览了其他类似的帖子,但在其中找不到任何指出我做错了什么的内容。

如果我不将路径放在特定问题的源代码中,则编译器输出的示例如下:

Info: Compiling Registers/registers.c to obj/default/Registers/registers.o
nios2-elf-gcc -xc -MP -MMD -c -I../USB3_Controller_BSP//HAL/inc -I../USB3_Controller_BSP/ -I../USB3_Controller_BSP//drivers/inc  -pipe -D__hal__ -DALT_NO_INSTRUCTION_EMULATION -DALT_USE_SMALL_DRIVERS -DSMALL_C_LIB -DALT_SINGLE_THREADED    -O -g -Wall   -mno-hw-div -mhw-mul -mhw-mulx -mgpopt=global  -o obj/default/Registers/registers.o Registers/registers.c
Registers/registers.c:2:22: fatal error: pc_comms.h: No such file or directory

我认为 -I 是包含路径,这表明它只是没有看到我添加的包含路径。也不确定双正斜杠。例如:

/USB3_Controller_BSP//drivers/inc

这看起来很奇怪。

最重要的是,如果我从包含路径中删除所有条目,它会一直告诉我有一整套无效路径,例如:

Description Resource    Path    Location    Type
Invalid project path: Include path not found (/home/me/Software/company/USB_Controller_Software/software/USB3_Controller/USB3_Controller/comms).    USB3_Controller     pathentry    Path Entry Problem

有人对我做错了什么有任何建议吗?我怀疑我在 Eclipse 设置包含路径的方式中遗漏了一些基本的东西。

(请不要尝试目录命名和文件命名的混合风格,这不是我做的!)

FWIW 在 Linux 上为 NIOS 使用 Mars.2。

0 个答案:

没有答案