在Eclipse CDT中找不到头文件

khbbv19g  于 12个月前  发布在  Eclipse
关注(0)|答案(3)|浏览(130)

我试图在Mac OS上使用Eclipse CDT 8.8.1构建一个使用外部库(卡萨布兰卡)的项目。正如预期的那样,第一次构建运行返回“cpprest/http_client.h file not found”错误。
然后我继续添加一个包含路径(/Users/me/projects/卡萨布兰卡/Release/include),方法是右键单击项目,选择Properties->C/C++ Include Paths and Symbols,Add External Include Path,并将其作为第一个列出的文件夹。
但是这并没有解决问题,Eclipse似乎仍然找不到头文件。#include指令如下:

#include <cpprest/http_client.h>

字符串
添加的/include目录确实有一个/cpprest子目录,其中包含http_client. h。
如果你能帮忙的话,我将不胜感激。

but5z9lq

but5z9lq1#

Project Properties | C/C++ General | Paths and Symbols添加包含路径只会将包含路径添加到CDT的索引器在索引项目时搜索的包含集合中。
实际的构建系统需要通过另一种方式被告知包含路径。如果你使用的是托管构建项目(而不是Makefile项目)--听起来像是这样--你应该在Project Properties | C/C++ Build | Settings中添加包含路径。注意索引器会自动拾取构建设置,所以一旦你这样做了,就不需要再将它添加到Paths and Symbols中。

cotxawn7

cotxawn72#

此答案适用于:
1.您没有C托管构建项目(例如,您和我一样有一个C Makefile项目)。

1.代码编辑器中的各种内容都用红色下划线标出,因为没有检测到头文件。
在我的情况下,索引器找到了标题当我将包含目录添加到项目属性> C/C常规>预处理器包含>选择GNU C >选择CDT用户设置>按添加时,所有红色下划线都消失了。(又称下拉菜单)被设置为“包含目录”和“文件系统路径”。键入或浏览包含目录。然后按OK > OK。
请注意,在此之前,我尝试将include目录添加到Project Properties > C/C++ General > Paths and Symbols > GNU C++ > Add,但这并不能单独解决问题。
基于一些快速测试,如果您使用的是外部构建系统,那么Paths and Symbols > GNU C++ > etc包含似乎是不必要的。
我在Ubuntu 16.04上使用Eclipse 3.8.1和Eclipse CDT 8.6.0。

mctunoxg

mctunoxg3#

我有一个C项目
适用于C/C开发人员的Eclipse IDE(包括孵化组件)
版本:2021-06(4.20.0)
构建ID:20210612-2011
我创建了一个名为main 2的项目,并包含了一个名为include的文件夹
在这个文件夹中,我创建了一个名为tu1.h的文件,其中包含一些原型
在我包含的main.c文件中,
#包含“tu1.h”
和致命错误:tu1.h:没有这样的文件或目录出现
我想在网络模式下运行
将溶液
运行菜单
运行配置
项目:main 2
c/C
应用程序:clog/main2.exe
构建配置:
x1c 0d1x的数据
在项目属性中
配置:[Active]
C/C++编译
设置
工具设置
包括
包含路径
“C:\Workspace\main2\include”



错误就消失了

相关问题