質問

私の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を有効なコードとしてマークするようにすることができますか?

役に立ちましたか?

解決

それは私にとってうまく機能します。 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)を使用しています。

他のヒント

適切な含まれていますか?

私が正しく覚えているなら、あなたはそうする必要があります

#include <iostream>

ツール - > options-> c/c ++ - >ビルドツールに移動し、コンパイラNetbeansが使用していることが表示されます。例えば

    /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

Compiler NetBeansのバージョンが使用しているバージョンを表示します。 [コード支援]タブのライブラリが一致しない場合、適切なバージョンのライブラリを変更する必要があります。例えば

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

等々。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top