Link to home
Start Free TrialLog in
Avatar of elepil
elepil

asked on

Looking for C++ IDE

I studied C++ a long time ago and have recently wanted to get back into it. But I'm sure a couple of decades have a way of changing things.

I'd like to poise myself to be able to write C++ programs in all platforms (i.e., Windows, Linux, MacOS). Is there such an IDE that can run across all these platforms? Because if there is, I am just trying to cut down the learning curve.

But realistically, I will most likely be writing C++ applications on the Windows Platform using the graphical environment (as opposed to a command line application).

Any feedback would be greatly appreciated. Thanks.
Avatar of chaau
chaau
Flag of Australia image

Eclipse will work on all platforms. In Windows however I prefer Visual Studio.
Avatar of elepil
elepil

ASKER

chaau, thank you for your response. But will Eclipse work with Windows graphic libraries? I remember back then, they called it MFC (Microsoft Foundation Class libraries), but I don't know what they call it today. Can Eclipse work with that?
ASKER CERTIFIED SOLUTION
Avatar of chaau
chaau
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of elepil

ASKER

Sara and chauu, both of you mentioned Qt, something I've never heard of. I did a google search on it, and it does sound like what you both described -- an IDE and a library. But it is also expensive, like $350/month, so that's out.

I'm just trying to relearn C++, and I do want to develop GUI applications. Is MFC my only practical choice then? Qt looked real good, but $350/month is a bit hefty for my needs right now.
But it is also expensive, like $350/month, so that's out.
the prices for a perpetual license are:

Per developer prices, in Euro:

Qt Single OS – 2.995,-
Qt Multi OS – 4.195,-
Qt Single Embedded – 4.795,-
Qt Multi OS Embedded – 5.595,-
Qt All OS – 6.395,-

All licenses comes with 12 months of support and maintenance
included. The license itself is perpetual, so you can use it for as
long as you want to.
However, the access to support is renewable every 12 months, to
maintain the access to support and updates of newer versions of Qt,
when they are released.

Open in new window



I'm just trying to relearn C++, and I do want to develop GUI applications.
you could start with a non-commercial license then. it is free. also a 30-days trial is free.

Is MFC my only practical choice then?

if you want to develop windows clients and don't intend to go to managed c++ (c++.net) mfc is the best choice in my opinion. managed c++ actually is a new language with c++ syntax. it is based on .net and its output isn't c++ object code which could be linked to an executable but is intermediate code that was interpreted and executed at runtime on the target machine. the intermediate code also could be provided by c# and vb.net projects. because of that managed c++ is supposed to be a choice for c++ developers who wanted to go .net but not learn a new language from scratch. but since the same group of developers also could go c# managed c++ wasn't used by many developers.

using mfc means that your gui clients will run at windows platform. that is because mfc is a class library which wraps original windows api. of course it makes no sense to port a library which is based on a proprietary gui api to another platform. libraries like qt go another way. they have their own classes and have internal libraries specific for each platform. these libraries were using the original windows api and therefore mfc is neither used by them nor do the class libraries have compatible concepts to mfc.

you need at least standard edition of visual studio to get mfc included. or, you download visual studio community which is free and also included mfc.

Sara
Avatar of elepil

ASKER

Sara,

Thank you for your response, it enlightened me in more ways than one. I did expect Qt to use something similar to a JVM in Java; otherwise, how else could it run on multiple platforms, and I learned it is called managed C++.

But you said:

it is free. also a 30-days trial is free.

That confuses me a bit because you made it sound like they have a totally free version just like Microsoft has a VS Community version that is always free as well as versions that give you only 30 days of free trial? Or am I misunderstanding you? Thanks.
actually if you agree on the GPL/LGPL conditions qt is free.

expect Qt to use something similar to a JVM in Java; otherwise, how else could it run on multiple platforms

qt is pure c++ library and has same c++ code on all platforms (means you can move the code and qt settings to any other environment). internally qt uses platform specific libraries. some gui elements which are not fully compatible between platforms (for example widgets) were implemented by qt itself and have most possible equality in look and feel.

I learned it is called managed C++.
managed c++ is part of the .net language family (with c#, vb.net) and has only syntax in common with c++. in my opinion the only real benefit is that you could have a mixed assembly where you use both managed and native c++ code. but even that isn't an easy thing though microsoft calls it IJW (it just works).

the visual studio ide has good editors and a useful project management. by customization you could add any precompiler, compiler, build tool individual for projects and even single sources. as told i used it to deveop unix sources and compiled it at windows platform. finally i made the build at the unix side. of course this doesn't work with gui elements since those are not compatible (beside you were using some cross-platform tool like qt or rogue wave views or others - mostly elder libraries).

Sara
For Linux, Fedora already include:

- Eclipse w/ CDT: yum install eclipse-cdt
- Anjuta: yum install anjuta
- KDevelop: yum install kdevelop
- QTCreator: yum install qt-creator
- Code::Block:  yum install codeblocks
- Netbeans w/ C/C++ plugin: yum install netbeans
Avatar of elepil

ASKER

Qt it is. Thank you for your help, both of you.