J'utilise Eclipse CDT avec Cygwin GCC 3 comme compilateur. Mon projet utilise un Makefile personnalisé.Eclipse CDT avec Cygwin GCC: découverte automatique des symboles et des chemins
Le problème est que lors du débogage du code, il n'a pas pu localiser les fichiers source, même si j'ajouté un mappage de chemin personnalisé pour: /cygdrive/c <-> c:\
Cela en plus du fait que je reçois "non résolue inclusion "pour tous les fichiers d'en-tête standard, même si le programme compile et s'exécute correctement.
J'ai retracé le problème à l'option « découverte automatique », ce qui montre l'erreur suivante:
Notez que je me suis assuré que le répertoire de l'espace de travail est sur un chemin sans espaces. La chose étrange est que quand je lance cette commande problématique dans la coquille, il fonctionne très bien avec la sortie suivante:
$ gcc -E -P -v -dD C:/Users/Amro/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /managed/gcc-build/final-v3-bootstrap/gcc-3.4.4-999/configure --verbose --program-suffix=-3 --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
/usr/lib/gcc/i686-pc-cygwin/3.4.4/cc1.exe -E -quiet -v -P -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -idirafter /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api -idirafter /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/lib/../../include/w32api C:/Users/Amro/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c -mtune=pentiumpro -dD
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/include"
ignoring duplicate directory "/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/lib/../../include/w32api"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include
/usr/include
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../include/w32api
End of search list.
#define __STDC_HOSTED__ 1
#define __GNUC__ 3
[.... truncated ....]
#define __unix__ 1
#define __unix 1
J'ai aussi essayé d'ajouter manuellement au chemin d'inclusion:
Comment puis-je résoudre ce problème pour qu'il découvre à la fois les chemins d'inclusion et les symboles définis? Devrais-je essayer de désactiver la découverte automatique et de coder en dur les chemins requis dans le fichier .cproject? Toute aide est appréciée (je demande seulement que vous ne suggériez pas d'utiliser MinGW au lieu de Cygwin!)
Comment exécuter vous et débogage dans Eclipse lorsque vous ajoutez des chemins comme ça? après avoir désactivé la découverte automatique –