Domanda

Il mio IDE (NetBeans) pensa che questo è il codice sbagliato, ma compilato correttamente:

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

Si dice sempre unable to resolve identifier .... (.... = cout, endl, string);

Quindi penso che abbia qualcosa a che fare con l'assistenza di codice. Penso di avere cambiare / aggiungere / rimuovere alcune cartelle. Attualmente, ho questi includono le cartelle:

C compilatore :

/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

compilatore 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

Che cosa ha potuto causare questo, e come posso fare NetBeans contrassegnare come codice valido?

È stato utile?

Soluzione

Funziona bene per me. Sto utilizzando NetBeans 6.8; l'unico riferimento indefinita ho ottenuto è stato per la funzione add ().

Si può provare con un nuovo progetto per vedere se è possibile riprodurre il problema?

Modifica (risposta):

Sì, testato su Linux. Non include aggiunto nelle proprietà del progetto.

Nel C / C ++ globale opzioni Ho un extra includere percorso per C, /usr/include/i486-linux-gnu.
Per C ++ che ho:

/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

Queste sono le mie impostazioni predefinite, non li hanno toccato. HTH Io uso anche gcc-4.4.3 (Ubuntu 10.04).

Altri suggerimenti

Hai il corretto include?

Se non ricordo male, è necessario

#include <iostream>

Vai a Strumenti> Opzioni> C / C ++ - strumenti> Crea, mostrerà le NetBeans compilatore sta usando. Per es.

    /usr/bin/g++

Digitando in un terminale:

    $ 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

mostrerà quale versione del compilatore Netbeans sta usando. Se le librerie nella scheda Assistenza codice non corrispondono, è necessario modificare loro per quelli della versione corretta. Per es.

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

e così via.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top