繁体   English   中英

无法在C ++中包含头文件

[英]Unable to include header files in C++

在netbeans中,我正在创建一个新文件夹并向其中添加头文件。

现在,当我使用以下命令将新创建的文件夹中的头文件包含到另一个文件中时:

#include "folder1/myheaderFile.h"

编译器抱怨找不到头文件。

错误是:

main.cpp:31:39: fatal error: folder1/myheaderFile.h: No such file or directory

我想在#include的文件夹中包含头文件吗?

编辑:我需要为每个文件夹制作一个makefile吗? 另一个编辑:

When I right clicked on the error its showing
unresolved directive
#include
Analyzed system include paths:
/usr/include/C++/4.6
/usr/include/C++/4.6/x84_64_linux_gnu
/usr/include/C++/4.6/backward
/usr/lib/gnu/x86_64-linux-gnu/4.6/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu
/usr/include

为方便起见:

您指定的包含文件路径是针对系统范围的头的。 标头包含在您的标头中还是系统范围内已下载/安装的标头? 您在输出中看到标题的路径了吗? 如果要在另一个文件夹中包含某个文件夹中的标头,则需要回溯,即: #include "../folder/header.h"

如果这是一个系统文件夹,例如我系统中/ usr / local / include中的文件夹,那么您要做的就是

#include <header.h>

或者如果它位于子文件夹中(经常),

#include <Libname/header.h>

只要设置了指向它的包含路径,它就应该起作用。

要设置包含路径和目录,请参见示例:页面末尾的http://zetcode.com/articles/netbeanscdevelopment/

请记住,在对路径进行硬编码时,需要考虑文件的当前路径,其中包括标头。

另外,您可以使用cmake&make(不知道Netbeans的用途)来定义自己的所有内容。

您可以使用完整路径进行测试,即:

#include "/home/user/project/folder/header.h

或者您可以从命令行进行测试并设置包含路径。

希望能帮助到你 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM