没有这样的文件(头文件)错误

时间:2014-01-23 23:23:05

标签: c++ netbeans cygwin

我想要包含一个头文件。我在C ++环境中工作,(C ++ 11,Windows操作系统,Netbeans 7.3.1 IDE,Cygwin_4.x工具集)。我不知道如何设置环境/ IDE(我在6个月前做过)。我也不了解C ++构建过程的基本原理或Cygwin相关的问题,所以我可能要填补其他一些参考/文档的空白(具体来说,我不确定)。

我的最终目标是能够使用不需要完整文件路径的语法来包含头文件。我想写一些简洁的东西,比如:

#include "src\stuff\blah.h"  //or even better:  #include "blah.h"

我可以完全编译程序的唯一方法是使用完整的文件路径,如下所示:

#include "C:\NetBeansProjects\Project1\src\stuff\blah.h"

而且,我只能使用完整路径编译一次。如果我尝试重建,它会弹出*** multiple target patterns. Stop.错误。这个错误有变通方法;那些是1)删除每次重建之间的builddist文件夹(yikes?),或2)following this 16 step setup process

我不想遵循这些变通办法中的任何一种,因为它们似乎没有提供我想要的东西。如何设置我的环境以实现我想要的...能够在不使用完整路径的情况下包含头文件?

2 个答案:

答案 0 :(得分:1)

感谢DanielKO获得此答案。

就我而言,我能够包含语法:

#include "../stuff/blah.h"

我没有在C ++编译器的“代码帮助”部分下配置任何内容。

我的所有代码都在“src”下作为我的NetBeans项目中的父目录。似乎文件的完整路径不是必需的,唯一必须引用的目录是最低级别的子目录(在我的例子中,“stuff”)。

答案 1 :(得分:1)

在NetBeans中,我添加了库列表的路径:

  1. 转到属性 - >选择C ++ - >选择'包含库' - >'添加' 现在:使用选项“absolute”

  2. 添加项目文件夹的路径
  3. 转到“属性” - >“选择C ++” - >选择“其他库目录” - >“添加” 现在:使用选项“absolute”

  4. 添加项目文件夹的路径

    为什么项目无法识别“自己的”头文件,这一点非常模糊。