xxx.h:致命错误 C1083:无法打开包含文件:'yyyy.h':没有这样的文件或目录
Posted
技术标签:
【中文标题】xxx.h:致命错误 C1083:无法打开包含文件:\'yyyy.h\':没有这样的文件或目录【英文标题】:xxx.h: fatal error C1083: Cannot open include file: 'yyyy.h': No such file or directoryxxx.h:致命错误 C1083:无法打开包含文件:'yyyy.h':没有这样的文件或目录 【发布时间】:2012-07-10 17:07:55 【问题描述】:我正在处理一个 c 项目,我需要在其中包含一个头文件,该头文件几乎没有其他头文件。当我试图编译时,编译器也在寻找我正在使用的头文件中包含的头文件。
更清楚地说,我需要在我当前的程序中使用xxx.h
文件,它对我来说只有一个有用的功能。但是xxx.h
文件中包含其他一些yyy.h
。
编译时出现以下错误:
xxx.h
:致命错误 C1083:无法打开包含文件:yyy.h
:没有这样的文件或目录
任何人都可以建议我一种方法来包含xxx.h
文件并使用我需要的唯一一个功能,将yyy.h
包含到我当前的项目中?
【问题讨论】:
您需要修改项目的包含路径。如何做到这一点取决于您的编译器:从错误消息的格式来看,您似乎正在使用一些 MSVS 变体。查看有关如何修改包含路径以包含 yyy.h 路径的文档 我正在使用 VS2008。我有 yyy.h 之类的 20 左右的头文件,其中我不知道路径。这是一个庞大的项目,其中包含大约 50 个项目文件。 最坏的情况,您可以将需要的一个声明复制到您自己的代码中。 那么我建议你找出你真正需要的 20 个文件中的哪一个,然后将你的编译器指向该目录或更改你的 xxx.h 头文件以将其包含在路径中。 【参考方案1】:使用#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 ....
【讨论】:
以上是关于xxx.h:致命错误 C1083:无法打开包含文件:'yyyy.h':没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章
致命错误 C1083:无法打开包含文件:“openssl/opensslv.h”
致命错误 C1083:无法打开包含文件:'atlbase.h' Pyinsane 包 [重复]
VC6:致命错误 C1083:无法打开包含文件:“stdint.h”
收到“致命错误 C1083:无法打开包含文件:'gxall.h':没有这样的文件或目录”[重复]
致命错误 C1083:无法打开包含文件:'boost/regex.hpp':没有这样的文件或目录
无法在 Windows 中安装 pycocotools:致命错误 C1083:无法打开包含文件:'io.h':没有此类文件或目录错误: