oxygen - use eclipse for c
El programa no puede comenzar porque falta cygwin1.dll... en Eclipse CDT (1)
He tenido Eclipse para Java en mi computadora durante algunos años, y decidí instalar el CDT y aprender C. Instalé tanto MinGW como Cygwin y el CDT detecta e intenta usarlos cuando hago un nuevo proyecto. Elijo Archivo> Nuevo proyecto de C ++ y elijo Hello World C ++ Project y la herramienta de CygwinGCC. Nombro el proyecto "asdf" y presiono "Build Debug" en la barra de herramientas. El compilador se completa sin error. Presiono Ejecutar y no pasa nada. Navegar al directorio del proyecto manualmente y ejecutar asdf.exe me da un error que dice "El programa no puede iniciarse porque cygwin1.dll falta en su computadora. Intente reinstalar el programa para solucionar este problema". Lo mismo ocurre con MinGW, solo falta una dll diferente. ¿Qué debo hacer para tener un .exe utilizable? Estoy ejecutando Windows 7 x64 y la versión más nueva de Eclipse y el CDT.
EDITAR: La salida del compilador es la siguiente:
**** Build of configuration Debug for project asdf ****
make all
Building file: ../src/asdf.cpp
Invoking: Cygwin C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/asdf.d" -MT"src/asdf.d" -o"src/asdf.o" "../src/asdf.cpp"
cygwin warning:
MS-DOS style path detected: C:/Users/Shawn/Dropbox/eclipse/asdf/Debug
Preferred POSIX equivalent is: /cygdrive/c/Users/Shawn/Dropbox/eclipse/asdf/Debug
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user''s guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Finished building: ../src/asdf.cpp
Building target: asdf.exe
Invoking: Cygwin C++ Linker
g++ -o"asdf.exe" ./src/asdf.o
Finished building target: asdf.exe
Este mensaje de error significa que Windows no puede encontrar "cygwin1.dll". Los programas que Cygwin gcc crea dependen de esta DLL. El archivo es parte de cygwin, por lo que es muy probable que esté ubicado en C: / cygwin / bin. Para solucionar el problema, todo lo que tiene que hacer es agregar C: / cygwin / bin (o la ubicación donde se puede encontrar cygwin1.dll) a la ruta del sistema. Alternativamente, puede copiar cygwin1.dll en su directorio de Windows.
Hay una buena herramienta llamada DependencyWalker que puedes descargar de http://www.dependencywalker.com . Puede usarlo para verificar las dependencias de los ejecutables, por lo que si inspecciona el programa generado, le indicará qué dependencias faltan y cuáles se resuelven.