Frage

Meine IDE (NetBeans) hält dies für einen falschen Code, aber es kompiliert korrekt:

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

Es heißt immer unable to resolve identifier .... (.... = cout, endl, string);

Ich denke, es hat etwas mit der Codehilfe zu tun. Ich denke, ich muss einige Ordner ändern/hinzufügen/entfernen. Derzeit habe ich diese enthalten Ordner:

C Compiler:

/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 ++ - Compiler:

/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

Was könnte das verursachen und wie kann ich NetBeans als gültiger Code markieren?

War es hilfreich?

Lösung

Es funktioniert gut für mich. Ich benutze Netbeans 6.8; Die einzige undefinierte Referenz, die ich bekam, war die Funktion add ().

Können Sie mit einem neuen Projekt testen, um festzustellen, ob Sie das Problem reproduzieren können?

Bearbeiten (Antwort):

Ja, getestet unter Linux. Nein, einschließlich hinzugefügter Projekteigenschaften.

In den globalen C/C ++ - Optionen habe ich einen zusätzlichen Pfad für C, einen zusätzlichen Pfad für c, /usr/include/i486-linux-gnu.
Für C ++ habe ich:

/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

Dies sind meine Standardeinstellungen, haben sie nicht berührt. Ich benutze auch GCC-4.4.3 (Ubuntu 10.04).

Andere Tipps

Haben Sie das richtige Einschluss?

Wenn ich mich richtig erinnere, müssen Sie

#include <iostream>

Gehen Sie zu Tools-> Optionen-> C/C ++-> Build-Tools, es wird angezeigt, dass der Compiler Netbeans verwendet wird. Z.B

    /usr/bin/g++

Eintippen in ein Terminal:

    $ 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

Zeigt, welche Version des Compiler Netbeans verwendet. Wenn die Bibliotheken auf der Registerkarte Code Assistance nicht übereinstimmen, müssen Sie sie für diejenigen der richtigen Version ändern. Z.B

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

usw.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top