2009-09-04 8 views
2

Mon programme d'installation inclut: Windows Vista, Eclipse 3.5.0 et gdb, make, gcc 3.4.4, g ++ 3.4.4 activés via Cygwin, et la variable d'environnement est déjà définie.Débutant Problème: C/C++ avec Eclipse

Mon premier problème est que je peux courir et construire une application comme les informations dans la console:

**** Build of configuration Debug for project HelloWorld **** 

make all <br /> 
Building file: ../src/HelloWorld.cpp <br /> 
Invoking: Cygwin C++ Compiler <br /> 
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/HelloWorld.d" <br /> -MT"src/HelloWorld.d" -o"src/HelloWorld.o" "../src/HelloWorld.cpp" <br /> 
Finished building: ../src/HelloWorld.cpp <br /> 

Building target: HelloWorld.exe <br /> 
Invoking: Cygwin C++ Linker <br /> 
g++ -o"HelloWorld.exe" ./src/HelloWorld.o <br /> 
Finished building target: HelloWorld.exe <br /> 

Mais dans les problèmes vue, j'ai encore les avertissements suivants,

Error launching external scanner info generator (g++ -E -P -v -dD F:/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp) <br /> 
Error launching external scanner info generator (g++ -E -P -v -dD F:/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp) <br /> 
Error launching external scanner info generator (gcc -E -P -v -dD F:/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c) <br /> 
Error launching external scanner info generator (gcc -E -P -v -dD F:/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c) 

Mon DEUXIÈME problème est que j'ai installé PATH mais je ne peux pas exécuter 'g++ --version' et 'gcc --version' dans la commande windows, alors que 'make', 'gdb', 'gcc-3' et 'g ++-3' fonctionnent.
Est-ce que quelqu'un sait ce que je peux faire pour résoudre ces problèmes? Le deuxième problème est-il lié au premier problème?

Merci

Hank

Répondre

2

Ce qui est sûr est votre deuxième problème pourrait très bien être lié à votre premier numéro:
De this thread:

Assurez-vous que gcc est installé et sur la PATH du système.

Cette other thread énonce une évidence:

un changement var env PATH via l'interface OS ne prendra effet dans une application déjà en cours d'exécution (Eclipse), y compris une fenêtre de console déjà ouverte.
Si vous relancez Eclipse après la modification de PATH, vous ne le faites pas à partir d'une fenêtre de console existante, n'est-ce pas?
En outre, essayez de copier l'exécutable gcc.exe à c:\WINNT juste comme un test. Cela ne fonctionnera pas à partir de là, mais vous devriez au moins voir une différence qui vous aidera à déterminer si votre problème est bien celui de PATH.

Pour, l'environnement Cygwin, d'autres hacks sont possible:

  • versions récentes de Cygwin n'ont plus gcc.exe ou g ++ exe.. Ces fichiers ont été remplacés par des fichiers .lnk pointant vers gcc-3.exe et g ++-3.exe (ou autre)

  • Certains outils d'Eclipse doivent lancer "gcc" ou "g ++" pour générer un tri d'info. Le système d'exploitation ne peut pas trouver gcc.exe ou g ++. Exe et donc il renvoie une erreur.

  • J'ai trouvé que la procédure suivante fonctionne pour moi:
    1/supprimer gcc.exe.lnk et g ++ exe.lnk de Cygwin/bin
    2/Copie gcc-3.exe à gcc.exe.
    3/Copie g ++ - 3.exe vers g ++.exe


Sachez bien qu'il y ait:

+0

Merci beaucoup pour votre aide. Le problème est résolu! Comme je suis sûr que le PATH est défini, j'ai commencé à suivre ces trois étapes pour résoudre le problème de nommage de Cygwin. Et cela a fonctionné pour moi. Les avertissements ont disparu, et je peux lancer 'gcc' et 'g ++' dans la commande windows. Merci! – Bao

+0

Oui! Je suis content que ça a marché pour toi. – VonC

+0

Merci beaucoup! Le remplacement des fichiers g ++ et gcc dans \ cygwin \ bin par des liens NTFS résout ce problème pour moi aussi. –