0

私の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に有効なコードとしてマークを付けるにはどうすればよいですか?

4

3 に答える 3

2

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

于 2010-06-02T12:05:26.387 に答える
0

適切なインクルードはありますか?

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

#include <iostream>
于 2010-06-02T11:54:49.840 に答える
0

「ツール」->「オプション」->「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

Netbeansが使用しているコンパイラのバージョンが表示されます。[コードアシスタンス]タブのライブラリが一致しない場合は、適切なバージョンのライブラリに変更する必要があります。例えば

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

等々。

于 2013-02-02T17:00:58.070 に答える