I\'ve started learning C++ and wrote a \"Hello World\"-Program. When i try to run it in command prompt, it crashes and gives me a windows message saying \"Hello World.exe ha
The following instructions did the work for me so I add them here for future reference as this problem took quite some time.
Prerequisites
- Windows 7 64-bit with all current Software Updates applied.
- MinGW 0.5-beta–20120426–1 or later.
- Java JRE 1.7 or higher.
- Eclipse
Installation Steps
- Install the Java JRE from Oracle.
- Install MinGW. During the Select Components step, select “C++ Compiler” and “MSYS Basic System” for installation.
- Download Eclipse for C++ Developers.
- Extract the Eclipse archive downloaded to your Downloads folder.
- Open the Eclipse application found in the extracted Eclipse folder.[2]
- Test your Eclipse install by creating a new C++ Project from the File and New menu.
- Select “Hello World C++ Project” under Executable for the Project Type, and MinGW GCC for the Toolchain of your New C++ Project. Type a Project Name and click the Finish button.
- Add “-static-libgcc -static-libstdc++” as Linker flags for your new project. This text should be added to the Linker flags field, which can be found by right-clicking on the new Project in the Project Explorer and clicking on Properties. Under the Project Properties, expand the C/C++ Build menu and click on Settings. Under the Tool Settings tab, expand the MinGW C++ Linker menu and click on Miscellaneous. Add the text to the Linker flags field, then click the Apply button.
- Click Build Project under the Project menu, then click Run under the Run menu.
- Confirm you have a functioning developer environment by viewing the output of the Console.
Please note that step 8 is the one that solves the problem.
Note: You should also copy freeglut.dll
in the directory where your .exe
is located.
I had the exact same problem. And what i found is that there might be different versions of the same DLL on my Path. So i simply moved my C:\MinGW\bin path from the end of the Path list to the front and now it's working. But maybe this solution breaks some other software that relies on the other version of the DLL file.