LoveRight LoveRight - 1 month ago 14
C++ Question

C++ program written in Eclipse using Windows and MinGW cannot display output to console view

I'm using Windows 7 64bit.

I installed eclipse version 3.6.2, cdt, and MinGW. I have a C++ console program in Eclipse as follows:

#include <iostream>
#include <cstdio>
using namespace std;

int main() {
setbuf(stdout, NULL);

for (int i = 0; i < 10000000; i++) {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
}
int val;
cin >> val;

return 0;
}


If I run this console program, it should display
Hello world
to Console View in Eclipse, but nothing displays.

If I go to the debug folder and run the exe, it does print to the console.

If I make some syntax mistake, then the Eclipse Console View will show something, such as:

**** Internal Builder is used for build ****
g++ -O0 -g3 -Wall -c -fmessage-length=0 -osrc\hh.o ..\src\hh.cpp
..\src\hh.cpp: In function 'int main()':
..\src\hh.cpp:17:3: error: expected ';' before 'return'
Build error occurred, build is stopped
Time consumed: 255 ms.


Why is nothing showing in the Eclipse console view and how can I make my C++ console program display output?

Answer

I find the reason, just because I'm using 64bit eclipse!

I turn to 32 bit eclipse, the same code works fine.