Always on the lookout for software development tools to tinker with, I ran across this multi-platform IDE on Freshmeat called Code::Blocks. As the project’s title suggests, it mainly supports C++ programming projects, although it is extensible through the use of plugins. I have not explored it fully to see if it supports any other language(s) yet. Its project site does have convenient pre-built binaries for easy installation for developers running:
- Windows 2000 / XP / Vista
- Linux (Ubuntu & Debian, 32 & 64 bits)
- Mac OS X 10.4+
Fortunately, the excellent maintainers at Red Hat have added this package to their Fedora yum repository, so it was a simple ‘yum install codeblocks’ and away we go! It works so well under Gnome, I am about ready to abandon KDevelop to rid myself of the extra bloat required to maintain both GTK and QT — not that QT is a problem for me, it just doesn’t make any sense to have both concurrently. Instead, I’ll move to the discipline of using a virtual Linux session when tinkering with KDE and QT, but leave my bare metal installations to exclusively use the leaner GTK-based apps. One last good word on KDevelop, it is a very mature IDE that works well with many useful languages through the use of its plugins, including Bash and Ruby script writing.
I have successfully imported my project into Code::Blocks under Fedora. I found it intuitive enough without having to resort to any hacking of makefiles. I found all the usual suspects in a modern IDE to be in place, particularly the basic project targets of build & run for Debug and Release, and all features to be placed in easy-to-find menu items and toolbars. Its C++ debugger does a fine job with its stack trace window, so you can see and click to any of the program’s jump points from within it. The debugger and stack trace already helped me by pointing to a nasty little condition where a NULL object might be illegally referenced. I love squashing bugs… especially MY bugs!
With the easy and early successes under Linux, I am now hopeful this IDE will provide for my need of cross-platform C++ development. The Microsoft 2008 Express editions are not making friends with me, particularly its C++ version. So my original thinking there was to use Eclipse, the best Java IDE available, and add its CDT plugin for C/C++ development. But since Code::Blocks made a cool impression on me under Fedora, I installed the Windows version to give it a try. The binary I chose also includes a MinGW C/C++ compiler for quick setup of projects.
So far, I have found the look & feel to be identical between Linux and Windows, which is no small thing having tried many other packages that made the same claim. I am not certain if the project files can also be used multi-platform, i.e., how does it store pathnames like /home/rhurst/src/myarcade for Linux and C:UsersRobertDocumentsMyArcade for Windows?
Currently, I am in the midst of building the support libraries for SDL and ClanLib to Windows-enable my retro-arcade project. Stay tuned for future confusion, frustration, and possibly results — fun, fun, FUN!