C++ IDE that can run on all cross-platform applications we need to use something like Qt. The only IDE that supports MFC is VS. but MFC applications will not be cross-platform. They will only run in Windows.
Qt is more than an IDE but mostly a class library for graphical user interfaces. it is fully portable between the main desktop platforms. you also can develop Qt projects in visual studio IDE.
For a client-server application where the server is on a UNIX and the GUI is windows, we could use visual studio for both. For sources for the server we could automatically transfer to the UNIX and make the build there. i usually had an eclipse there for debugging purposes and for to creating new sources for the server.
We also can compile and build the server sources in VS (firstly or additionally) since C++ code can be made highly compatible between platforms and major issues only are to expect when using foreign proprietary libraries.
Qt an IDE and a library but it is also expensive, like $350/month, so that’s out.
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.
Qt looked real good, but $350/month is a bit hefty for any developer needs . We could start with a non-commercial license then. it is free. also a 30-days trial is free.
Is MFC only practical choice then?
If we 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 run-time 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. 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.
We 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.
Conclusion
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). 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 develop 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).