views:

556

answers:

7
+1  Q: 

Portable C++ IDE

I want a portable C++ IDE for general development, and too to develop basic Windows GUI applications.

In my research, I've found this (with latest version date):

But I don't know if some these IDE's supports Windows GUI development (or Cross Platform GUI development) or if can be portable (NetBeans can be portable).

EDIT: Reading the replies and doing more research, I'm near to choose between NetBeans or Qt Creator. But Qt Creator is 287mb (big for portable development). So sad looks that NetBeans, even being small (c++ is near to 30mb) needs Qt library for GUI (278mb)...

+1  A: 

The bash shell (and it's tools) + vim + cmake + mercurial = love. Bash is available on all popular platforms, even windows

p.s., I forgot gdb + ddd.

Hassan Syed
yes that excactly sounds like an IDE (irony)
smerlin
@smerlin Oh, common. His gravitar is the GNU logo. To @Hassan, that *is* an IDE.
Barry Wark
If you take a step back and consider all the elements that make up a IDE (debuger, inteligent build specification mechanism, file explorer, abstraction for code commits, syntax highlighting, auto complete, search and replace (code refactoring) ) Than all of the tools I have specified perform these tasks. And they are the lowest common denominator. You don't have m4,awk, grep, and the ability to pipe and script as powerfully as you can do with these tools. p.s., I also use visual studio quite a bit, and have used eclipse and netbeans a lot as well. This isn't fanboy-ism it's engineering :D
Hassan Syed
Just that the I in IDE stands for integraded, what a bunch of command line tools is not at all.
Timbo
all the tools above are "integrated" through bash. Just as a GUI IDE integrates the various widgets that substitute the tools I just mentioned. the op said *nothing* about RAD tools or that the IDE must be constructed out of a GUI framework like MFC or java swing.
Hassan Syed
+2  A: 

Qt Creator is a good choice if you want to code cross platform GUI programs. Qt is an excellent cross platform GUI library.

bitc
+2  A: 

The IDEs you named are all cross-platform and available on Windows, Mac OS X, and Linux. That said, you only really need to make your code cross-platform (use Boost and Qt to do that). I personally use Xcode on Mac OS X, GEdit or Anjuta or KDevelop on Linux, and Code::Blocks on Windows. You might also be interested in my C++ Application Project Template and C++ Library Project Template, which provide a portable cross-platform build using the CMake build system, and which uses both Boost and Qt; the application project template already has code to create a "hello world" GUI if you use the flag "--gui".

I should also point out that CMake is capable of generating project files for a wide variety of IDEs, so an advantage of a CMake build is that you can generate makefiles (the default), but you can also generate a Visual Studio project (Windows), a KDevelop project (Linux), or an Xcode project (OS X) from just the one project description file, allowing one to use the native IDE for that particular development platform.

Michael Aaron Safyan
+1  A: 

Well, it doesn't have a portable version, but as a general and multi-platform IDE, I would definitely go with Komodo Edit. I love the autocompletion and call-tips features. They boosted my coding speed and productivity by 1000x. I know I sound like an ad, but don't worry, it's my most sincere opinion.

If you want cross-platform development, I agree with whoever mentions Qt. It's a really great, reliable (depends on your requirements, of course) and flexible cross-platform framework.

Good luck!

KaOSoFt
Looks nice, I will check it.
Click Ok
+1  A: 

You can make a portable NetBeans, as well as Code::Blocks, Geany, Dev-C++, or Eclipse.

Any of the above should be able to do Windows GUI or cross-platform GUI development, just make sure you have a copy of all necessary libraries on your flash drive. If you use portable Cygwin on the flash drive, you can include gcc (so your IDE has a compiler as well) and the cygwin versions of a variety of UI libraries (gtk, FLTK, wxwidgets, qt, etc etc).

An alternate route that I have seen some people take is to load up a Linux installation in a virtual machine, then carry that around on the flash drive along with something like Portable VirtualBox. I would recommend copying it to the hard drive first, the performance would be terrible running it straight off the flash drive.

bta
+1  A: 

Have you considered Vim. Not exactly an IDE but you could easily put versions on one USB stick to allow you to run anywhere.

For some things I like Eclipse but it is only portable in your sense if Java is installed on the host machine. The other big problem with Eclipse is that it is fairly machine demanding and in my opinion requires a fast SMP machine to work well. Frankly though I don't use Eclipse for any of the "C" languages right now.

A slightly tougher choice might be EMACS again using the same approach as with Vim. That is putting multiple copies for your different target machines on a USB stick.

In the end I have to second something else suggested, that is the best portable IDE is a laptop. For example you can have several very good IDEs installed on a Mac and easily transfer files to a target machine. Being Unix it is fairly easy to install the GCC or LLVM of your choice even cross compilers. The big problem with a USB dongle approach is that you never can be sure of having everything you need there.

David Frantz
A: 

Xemacs. If you want something that you can keep on a flash drive with a ton of other tools. It isn't full features, but sure is a step up for writing software than vim.

spowers