2009-09-19 8 views
5

Je travaille avec un petit groupe sur un projet C++ dans NetBeans. Pour une raison quelconque, NetBeans signale des choses comme "chaîne", "endl", "cout" comme "Incapable de résoudre" même si les bibliothèques correctes ont été incluses."Impossible de résoudre ..." dans NetBeans 6.7.1, Linux, C++

Le projet est compilé et exécuté comme prévu, donc à la fin de la journée, il n'y a pas grand-chose, il est juste que tout ayant marqué comme une erreur, il est assez ennuyeux.

Je n'ai pas été capable de trouver quelque chose sur ce bogue. Juste une référence vague dans un blog. Quelqu'un d'autre l'a-t-il vécu?

Il est évident que ce n'est pas très répandue, il doit y avoir un paramètre/configuration qui provoque. Est-ce que quelqu'un sait qui empêcher cela de se produire?

EDIT:

Non, ces "erreurs" sont uniquement dans l'IDE. Le code compile bien et s'exécute. Le développeur a utilisé "using namespace std;" donc il ne devrait pas y avoir de problèmes. Il semble que l'EDI NetBeans soit bogué.

Exemple de code:

#include <stdlib.h> 
#include <string> 
#include <iostream> 

using namespace std; 

int main(int argc, char** argv) 
{ 
    string test; 
    test = "Why?"; 

    cout << test << endl; 

    return (EXIT_SUCCESS); 
} 

Ce code compile et imprime "Pourquoi?" mais a "chaîne", "cout" et "endl" marqués comme des erreurs dans l'EDI. Explicitement en utilisant std :: ne fait aucune différence

Nettoyer Edit:

Pour toute personne intéressée, quelques jours plus tard, j'avais 6 mises à jour disponibles pour NetBeans. Après avoir installé ces mises à jour, le problème a été corrigé, malgré le fait que le code ne change pas. Donc, apparemment, c'était un bug NetBeans.

+0

voyez-vous ces questions dans l'EDI lors de l'édition de code ou voyez-vous ces cours de la phase de compilation? –

+1

Dans l'IDE pendant le codage uniquement. Tout compile et fonctionne sans erreur ni avertissement. Il est tout à fait un code valide, NetBeans arrive juste à être en désaccord –

+0

Vous devez inclure '' au lieu de '' quand vous écrivez C++. cstdlib profitera entre autres des espaces de noms en C++. –

Répondre

0

pour toute personne intéressée, quelques jours plus tard, j'avais 6 mises à jour disponibles pour NetBeans Après avoir installé cette mise à jour, le problème a été rectifié, malgré le code ne change pas. donc, semble-t-il été un bug NetBeans.

+0

j'ai ce problème aussi. J'ai NetBeans 7.1. Mais dans Windows 7. Ne fonctionne toujours pas. Le code fonctionne bien. Mais les erreurs apparaissent. [Voici mon problème] (http://stackoverflow.com/questions/20936513/c-in-netbeans-shows-errorsunable-to-resolve-identifiers-but-the-code-runs-fi) – prime

0

Essayez std::string, std::endl, std::cout, etc.

Ou,

using std::string; 
using std::endl; 
using std::cout; 

au début de votre fichier source, une fois que vous incluez les bibliothèques. Peut-être que votre IDE les signale comme des erreurs mais utilise l'espace de noms standard de toute façon.

Vous pouvez aussi utiliser

using namespace std; 

mais qui est généralement une mauvaise habitude qu'il encombre l'espace de noms global, et vous pouvez vous retrouver avec des ambiguïtés (l'espace de noms est grande norme). Personnellement, je viens de mettre std:: avant tout dans mes petits projets, et un using std::______ dans le projet ou les blocs où je l'utilise dans les plus grands.

Quoi qu'il en soit, c'est ce que l'erreur ressemble, mais (au moins dans mon expérience) le programme devrait ne pas compiler si tel est le problème.

Par votre montage:
Si les erreurs que vous obtenez ne proviennent que de l'EDI, peut-être vous l'avez dans un mauvais mode ou quelque chose? Le code que vous avez posté dans votre exemple est assez simple C++ que tout compilateur ou IDE qui est prêt à travailler avec C++ ne le traiterait pas.Si les erreurs que vous avez décrites venaient de votre compilateur, cela signifierait que vous n'incluiez pas l'espace de noms ou que vous essayiez de compiler du code C++ avec un compilateur C - peut-être que netbeans pense que vous écrivez C?

+0

Pour "le programme devrait échouer à compiler si c'est le problème.", S'il vous plaît voir de la question réelle, la citation suivante: "Le projet compile et fonctionne comme prévu" Merci pour essayer d'aider si. –

+0

Ne peut pas être cela non plus. Il reconnaît les classes que nous écrivons correctement, ainsi que de passer par référence. Je ne peux pas penser à n'importe quel mode de langue ce pourrait être là où c'était bien et chaîne n'était pas. –

+0

bizarre. Il n'y a rien d'autre je peux penser à –

1

hmm .. même chose juste arrivé à moi. Une fois que j'ai démarré NetBeans, j'ai souligné tous mes appels à openGL (gl, glu et glut), et je ne pouvais pas me débarrasser des erreurs. Il compilé très bien (+ je n'ai rien changé dans le code depuis la dernière fois il n'a montré aucune erreur)

Après avoir lu ce post j'ai vérifié les mises à jour, mis à jour et maintenant il n'indique aucune erreur :) c'est bizarre parce que je mets à jour régulièrement ..

EDIT:. NVM, maintenant ils sont de nouveau :(souligné

0

FWIW J'ai eu le même problème avec Netbeans 6.8 sur Ubuntu 10.04. Frustrant Netbeans m'a également dit qu'il était à jour dans le menu Aide -> Vérifier les mises à jour (car il s'agit de la version actuelle pour Ubuntu).

Suppression Netbeans via synaptique/aptitude et le téléchargement manuellement et l'installation de la dernière version (6.9.1) a également résolu le problème pour moi. J'espère que ce n'est plus le cas ...

Maintenant que j'ai résolu ce problème et que j'ai appliqué le correctif de performance this, j'ai créé un IDE très agréable avec un achèvement rapide du code. C'est dommage que cette expérience ne soit pas disponible hors de la boîte, j'ai passé pas mal de temps sur Eclipse CDT et Netbeans à essayer de faire fonctionner les choses.

Questions connexes