xxx.h:致命错误 C1083:无法打开包含文件:"yyyy.h":没有此类文件或目录

xxx.h: fatal error C1083: Cannot open include file: 'yyyy.h': No such file or directory

本文关键字:文件 yyyy 包含 C1083 致命错误 xxx      更新时间:2023-10-16

我正在处理一个c项目,其中我需要包含一个头文件,而这个头文件几乎没有其他头文件。当我试图编译时,编译器也在寻找包含在我使用的头文件中的头文件。

更清楚地说,我需要在当前程序中使用xxx.h文件,该文件对我来说只有一个有用的功能。但xxx.h文件中包含了一些其他yyy.h
当我编译时,我有以下错误:

xxx.h:致命错误C1083:无法打开包含文件:yyy.h:没有这样的文件或目录

任何人都可以建议我一种方法,包括xxx.h文件,并使用我唯一需要的一个功能,包括我当前项目的yyy.h

使用#ifdef块来防止包含不需要的标头。

假设你需要一个函数的原型,除此之外你什么都不需要。然后:

#ifndef MY_APP
#include <notneeded1.h>
#include <notneeded2.h>
.............
.............
#endif
#ifdef MY_APP
void my_needed_foo_bar()
#endif
#ifndef MY_APP
.....
#endif

现在通过定义MY_app 编译您的应用程序

类似于gcc

$gcc -DMY_APP ....