在netbeans中,我正在创建一个新文件夹并向其中添加头文件.
现在,当我使用以下内容将新创建的文件夹中的头文件包含到另一个文件中时:
#include "folder1/myheaderFile.h"
Run Code Online (Sandbox Code Playgroud)
编译器抱怨它无法找到头文件.
错误是:
main.cpp:31:39: fatal error: folder1/myheaderFile.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
是否有一些出路,因为我想将头文件包含在我的#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
Run Code Online (Sandbox Code Playgroud)
这是为了您的方便:
您指定的包含文件路径适用于系统范围的标头.您是包括您的标题还是在系统范围内下载/安装的标题?你看到输出中标题的路径了吗?如果您在另一个文件夹中包含文件夹中的标题,则需要遍历,即:#include "../folder/header.h"
如果这是一个系统文件夹,例如驻留在我系统中的/ usr/local/include中的系统文件夹,您所要做的就是
#include <header.h>
Run Code Online (Sandbox Code Playgroud)
或者如果它存在于子文件夹中(经常)
#include <Libname/header.h>
Run Code Online (Sandbox Code Playgroud)
只要您设置了指向它的包含路径,它就应该有效.
要设置包含路径和目录,请参阅示例:http://zetcode.com/articles/netbeanscdevelopment/靠近页面末尾.
请记住,在对路径进行硬编码时,需要考虑包含标题的文件的当前路径.
或者,您可以使用cmake&make(不知道Netbeans使用什么),在那里定义自己的一切.
您可以使用完整路径进行测试,即:
#include "/home/user/project/folder/header.h
Run Code Online (Sandbox Code Playgroud)
或者您可以从命令行进行测试并设置包含路径.
希望能帮助到你 :)