首页 > 解决方案 > Eclipse 需要头文件的路径,即使路径位于项目的包含目录中

问题描述

我必须将 Eclipse 用于要添加和修改的现有 C 项目,并且我无法弄清楚如何设置包含路径,因此我不必执行以下操作:

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

我已经进入:

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

并选择了包括选项卡。

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

但是,我仍然需要在源代码中为标题添加相对路径。

我是否要求 Eclipse 不能做一些期望能够添加这些路径并能够做的事情:

#include "foo.h"

而不是

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

在任何源文件中?

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

我见过这个:

即使设置了包含路径,Eclipse 也找不到头文件

但他的解决方案与此无关,扳手的事情对我来说没有显示。我浏览了其他类似的帖子,但在其中找不到任何指向我做错的东西。

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

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。

标签: ceclipse-cdt

解决方案


推荐阅读