4

在 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
4

1 回答 1

6

这是为了您的方便:

您指定的包含文件路径用于系统范围的标头。您包含的标题是您的标题还是系统范围内下载/安装的标题?您在输出中看到标题的路径吗?如果您包含一个文件夹中的标题,来自另一个文件夹,那么您需要遍历回来,即:#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

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

希望能帮助到你 :)

于 2013-02-20T00:00:54.867 回答