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

时间:2013-02-19 22:50:46

标签: c++ netbeans

在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

1 个答案:

答案 0 :(得分:5)

这是为了您的方便:

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

如果这是一个系统文件夹,例如我的系统中驻留在/ usr / local / include中的系统文件夹,您只需

#include <header.h>

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

#include <Libname/header.h>

只要您设置了指向它的包含路径,它就应该有效。

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

请记住,当您对路径进行硬编码时,您需要考虑包含标题的文件的当前路径。

或者,您可以使用cmake&amp; make(不知道Netbeans使用什么),你定义自己的一切。

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

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

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

希望有所帮助:)