Linux上Netbeans的代码帮助

时间:2010-06-02 11:48:46

标签: c++ linux netbeans error-detection

我的IDE(NetBeans)认为这是错误的代码,但它正确编译:

std::cout << "i = " << i << std::endl;
std::cout << add(5, 7) << std::endl;
std::string test = "Boe";
std::cout << test << std::endl;

总是说unable to resolve identifier .... (.... = cout, endl, string);

所以我认为这与代码帮助有关。我想我必须更改/添加/删除一些文件夹。目前,我有这些包含文件夹:

C编译器

/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed
/usr/include

C ++编译器

/usr/include/c++/4.4.3
/usr/include/c++/4.4.3/i486-linux-gnu
/usr/include/c++/4.4.3/backward
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include
/usr/include

导致这种情况的原因是什么,以及如何让NetBeans将其标记为有效代码?

3 个答案:

答案 0 :(得分:2)

对我来说很好。我正在使用NetBeans 6.8;我得到的唯一未定义的引用是add()函数。

您可以使用新项目进行测试,看看是否可以重现问题吗?

编辑(回复):

是的,在Linux上测试过。项目属性中添加了无包含。

在全局C / C ++选项中,我有一个额外的包含C的路径,/usr/include/i486-linux-gnu 对于C ++,我有:

/usr/include/c++/4.4
/usr/include/c++/4.4/i486-linux-gnu
/usr/include/c++/4.4/backward
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include
/usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed
/usr/include/i486-linux-gnu
/usr/include

这些是我的默认设置,没有触及它们。 HTH 我也使用gcc-4.4.3(Ubuntu 10.04)。

答案 1 :(得分:0)

你有合适的包括吗?

如果我没记错的话,你需要

#include <iostream>

答案 2 :(得分:0)

转到工具 - >选项 - &gt; C / C ++ - &gt;构建工具,它将显示NetBeans正在使用的编译器。 E.g。

    /usr/bin/g++

键入终端:

    $ whereis g++
    g++: /usr/bin/g++ /usr/bin/X11/g++ /usr/share/man/man1/g++.1.gz
    $ ls -al /usr/bin/g++
    lrwxrwxrwx 1 root root 7 Mar 13  2012 /usr/bin/g++ -> g++-4.6

将显示Netbeans正在使用的编译器版本。如果“代码帮助”选项卡中的库不匹配,则需要针对正确版本的库进行更改。 E.g。

    /usr/include/c++/4.6
    ...
    /usr/lib/gcc/i686-linux-gnu/4.6/include-fixed

等等。