Windows XP: Console with OpenGL and Dev cpp

Started by
10 comments, last by BytePtr 14 years, 10 months ago
Hey all. I've been using Dev CPP since I moved back to Windows when my Mac died. I like it because it's light weight, but I have a big problem. The debugger might as well not be there because I can't even watch variables. It's plain broken. I'm honestly fine with just printing variables to the console, but I'm using open GL, so I don't have a console (one of my big annoyances with Windows). So I'm wondering if there is some code I can use to enable a command line or if Dev CPP has some option that will give me a console window. Any help would be appreciated. thanks :)
Advertisement
Step 1: Don't use Dev-C++. Here's the real stuff.
Step 2: Let us know if you're still having problems.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Step 3: if you got this far and didnt read promit's post. READ PROMIT's POST. preferably while deleting dev-cpp
your never as good as they say you were, never as bad as they say you was.
Further readings on why not to use Dev-C++.

That said, Visual Studio will only solve your debugger woes (Code::Blocks would probably also do that, if you need something smaller than VS because, for example, you need to run from a memory stick or some such).

However, the answer to your question about getting the console back is to use Win32 API functions for doing so. Look up AllocConsole() on MSDN. After that you can use freopen() to reattach stdout to the console provided to you by AllocConsole(). If you need further assistance with this, ask.

Although really, once you abandon Dev-C++ for something with a real debugger you probably won't need to be doing printf()-style debugging through a console anyway.
Yeah, I had installed VC just in case I got this answer. But what I'm not sure about is the fact that I've only ever used the gcc gnu compiler because I know my code will be generally cross platform. Will that change if I'm using Microsoft's IDE/compiler? That is to say, is their version of C++ different?
Quote:Original post by guest42
is the fact that I've only ever used the gcc gnu compiler because I know my code will be generally cross platform. Will that change if I'm using Microsoft's IDE/compiler? That is to say, is their version of C++ different?
You used GCC because it would be cross platform, but you're worried that it won't work on a different platform.

Are you seeing the problem? (Hint: if your code doesn't work on VC++, that is an indication that it is not cross platform.)
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
if your code is standard compliant, it will compile on any c++ compiler which is also standard compliant.

(all compilers deviate slightly from the standard, but not by much, and not enough to give you any major headaches).

use visual c++ on windows, and the latest gcc on whatever. the version of mingw with devc++ is so old that its got a walking frame and arthritis.
your never as good as they say you were, never as bad as they say you was.
People still use Dev-C++ for the same reasons you find people still using Microsoft Visual C++ 6.0. They're just plain reluctant to change. Either that, or the silly old tutorials that they first read about writing your first game mentioned Dev-C++ as THE compiler to use. In which case, their research skills are sub-par.

I say leave guest42 with Dev-C++. The more fools using the wrong technology and tool-sets only means more room at the top of the food chain for the rest of us.
The GNU compilers sort of give you a false sense that your code is cross-platform -- what people generally are confused about is that:

1) They believe that the GNU compilers are somehow most-compliant to the language standard (or some even believe that the GNU compilers set the standard!)

2) They believe that because their code compiles on the GNU compilers, and that GNU compilers have been ported to every platform that their code is therefor cross-platform.


Neither of these is true, of course:

In the first case, Microsoft's recent C++ compilers have been *more* standard compliant than the GNU C++ compiler, G++ -- just because something is "open source" doesn't automatically mean that it has the best standards compliance, especially with something as complex, ill-defined, and just-plain-odd as C++.

In the second case, GNU's compilers have their own syntax for extensions, inline assembly and whatnot -- and if you use any of these, your code will likely not compile on other compilers -- remember, the platform is comprised of many things: The compiler, libraries, run-time, operating system and the hardware -- to be truly cross-platform, you must write code that is neutral to all of these. In short, there's far more to "cross-platform" than simply choosing a widely-available compiler.

throw table_exception("(? ???)? ? ???");

Ah, thanks Matt, I appreciate the straight answer. I just wasn't sure how different Microsoft's C++ standards were from Gnu's, but I'll go on faith that it shouldn't be a big deal. Now to figure out how to set up OpenGL/Glut/Glui all over again.

This topic is closed to new replies.

Advertisement