I've had Eclipse for Java on my computer for a few years, and decided to install the CDT and learn C. I installed both MinGW
and Cygwin
and the CDT detects and tries to use them when I make a new project.
I choose File > New C++ Project
and choose Hello World C++ Project
and the CygwinGCC
toolchain. I name the project "asdf" and hit "Build Debug" in the toolbar. The compiler completes without error. I hit Run and nothing happens.
Browsing to the project directory manually and running asdf.exe gives me an error saying:"The program can't start because cygwin1.dll is missing from your computer. Try reinstalling the program to fix this problem."
The same thing happens using MinGW, only a different dll is missing.
What do I need to do to have a usable .exe?
(I'm running Windows 7 x64 and the newest version of Eclipse and the CDT.)
EDIT: The compiler output is as follows:
**** 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
To fix the problem all you have to do is add C:\cygwin\bin (or the location where cygwin1. dll can be found) to your system path. Alternatively you can copy cygwin1. dll into your Windows directory.
At the heart of the Cygwin collection of tools is the cygwin1. dll dynamic link library (DLL). The DLL serves as an emulation layer that provides Portable OS Interface, or POSIX, system call functionality.
This error message means that Windows isn't able to find "cygwin1.dll". The Programs that the Cygwin gcc create depend on this DLL. The file is part of cygwin , so most likely it's located in C:\cygwin\bin. To fix the problem all you have to do is add C:\cygwin\bin (or the location where cygwin1.dll can be found) to your system path. Alternatively you can copy cygwin1.dll into your Windows directory.
There is a nice tool called DependencyWalker that you can download from http://www.dependencywalker.com . You can use it to check dependencies of executables, so if you inspect your generated program it tells you which dependencies are missing and which are resolved.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With