我和这个问题争吵好了5或6个小时,把我的头发拉出来,直到我终于找到了解决方案。我想发布这个(不确定是否有一个特定的地方来发布未解决的问题的解决方案)作为解决其他可能遇到同样困难的人。
我在Linux Mint Lisa上运行的Netbeans 7.1.1中编写了一个C ++项目,并在尝试使用静态变量时不断收到“未定义的XXX引用”错误。来自C#的背景,因此不太熟悉头文件等,我搜索了几个小时,希望找到我声明我的变量或我的类的方式的问题。我找不到任何东西......
答案 0 :(得分:8)
转到Netbeans中的文件资源管理器中的nbproject文件夹。打开configurations.xml文件。使用属性name =“SourceFiles”向下滚动到logicalFolder标记。确保所有.h和.cpp文件都包含在logicalFolder标记中的itemPath标记中! Netbeans正确地添加了一些,但不是所有的cpp和h文件,因此问题。不确定为什么会出现这种不一致,因为所有类和头文件都是通过同一个Netbeans向导添加的。无论如何,随着配置文件的更改,makefile会在下一次构建时更新并正确写入,并且所有功能都按预期运行。希望这可以帮助别人!
答案 1 :(得分:1)
只是要向Levi的答案添加更多详细信息(对于像我这样的新人),请单击屏幕左侧的“文件”选项卡,其中包含文件和文件夹列表。这为您提供了与“项目”选项卡不同的文件列表。
展开项目文件夹(如果尚未展开)。其中一个结果文件夹是“nbproject”。展开文件夹。这是configurations.xml所在的位置。
简而言之:
文件标签> nbproject> configuration.xml文件
但是,将.h文件添加到configuration.xml对我来说不起作用。
答案 2 :(得分:0)
在我的情况下,我只需要将源文件作为#include行包含在其他源文件中以使其工作......我可以编译各个源文件而不会出错,但该项目是另一个故事。一旦我将#include行添加到需要找到某些方法的其他源文件中,那么它们都按计划工作。希望这有助于某人。