Codeunterstützung in NetBeans unter Linux
-
23-10-2019 - |
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?
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.