Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
hi
 
i want to can write visual programs with c/c++ like adobe applications group or even like windows but i dont know how can i write and where i can do it?
 
is there a cross-platform IDE and compiler for c/c++ with GUI capability like microsoft visual studio?
 
*** i dont want to use vs.
Posted 7-Feb-13 4:23am
hor_313631
Edited 7-Feb-13 21:05pm
v5
Comments
Chris Reynolds (BNY) at 7-Feb-13 9:36am
   
Are you looking for something like GTK+ which is a cross-platform GUI toolkit?
 
Why don't you want to use VS? If you tell us why not it can help in pointing you to alternatives.
hor_313 at 7-Feb-13 9:48am
   
cause i want to switch to linux and other platforms like android when i want
hor_313 at 7-Feb-13 9:51am
   
i dont know about GTK+ but i am seeking for a something like vs but it is cross-platform
Chris Reynolds (BNY) at 7-Feb-13 10:01am
   
If you're looking for a tool that offers as much built in help and support as VS does for Windows development but will build for multiple target platforms you will struggle. You need to find a GUI toolkit that is available on all the platforms that you want to develop for and then find a dev environment that supports both
hor_313 at 7-Feb-13 10:05am
   
thanks , but whats your suggest for good IDE+Compiler+GUI toolkit?
Sergey Alexandrovich Kryukov at 7-Feb-13 11:41am
   
Please see my answer; it's almost comprehensive. Don't make a final decision too soon, try different things out.
—SA
Richard MacCutchan at 7-Feb-13 10:04am
   
It is unlikely that you can do this easily since other platforms have their own GUI libraries that are not compatible with Windows. You might like to consider using Java for your development, which fits your brief better.
Sergey Alexandrovich Kryukov at 7-Feb-13 11:41am
   
Nevertheless, there is a number of pretty good options. Just take a look at my answer where I list only the most well-known ones.
But you are right about Java; I would rather mention C++/CLI under Mono first — it's a really working way.
—SA
Sergey Alexandrovich Kryukov at 7-Feb-13 11:09am
   
IDE and compiler, first of all, depends on your preference. So, please:
What is your preferred platform? (I guess, from your previous question, Windows, is that right?) Do you want to use C++ only, or also C++/CLI?
—SA
joshrduncan2012 at 7-Feb-13 11:27am
   
You can use Mono for your IDE that can be ported to multiple platforms. Mono is an Open Source version of Visual Studio.
Sergey Alexandrovich Kryukov at 7-Feb-13 11:42am
   
Agree, but it does not even require porting. Please see my answer.
—SA
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

We cannot discuss all C++ libraries, can only focus on UI development, which the the topic most difficult for cross-platform development. I also don't want to discuss anything commercial (like VCL), except Visual Studio which I guess you have.
 
You already know about Qt. (I answered here: is the Qt creator with its library(Qt 5) best choice for c/c++ ?[^].)
 
What else?
 
First of all, GTK+:
http://en.wikipedia.org/wiki/Gtk[^],
http://www.gtk.org/[^];
see also: http://en.wikipedia.org/wiki/Gtkmm[^].
 
Another well-known library is wxWidgets:
http://en.wikipedia.org/wiki/WxWidgets[^],
http://www.wxwidgets.org/[^].
 
And, finally, FLTK:
http://en.wikipedia.org/wiki/FLTK[^],
http://www.fltk.org/[^].
 
You will probably find some more if you see Wikipedia cross-references from the pages I referenced above, but I listed the most well-known ones.
 
If you know or want to master C++/CLI, it would open the world of CLI and CLR to you, which is good for development on many platforms, first of all, via Mono:
http://en.wikipedia.org/wiki/Mono_%28software%29[^],
http://www.mono-project.com/[^].
 
In this approach, all your .NET application, when developed accurately and according to standards, will work on any of the platforms without recompilation. Also, you will get access to the very thorough language compatibility with all CLI languages:
http://en.wikipedia.org/wiki/List_of_CLI_languages[^].
 
See also:
http://en.wikipedia.org/wiki/CLI[^],
http://en.wikipedia.org/wiki/CLR[^].
 
Unfortunately, the only library for UI development is System.Windows.Forms, but it's quite rich.
 
[EDIT #1]
 
But with Mono, you can also use CLI version (ports or wrappers) of GTK+, Qt and more.
 
[END EDIT #1]
 
On C++/CLI, please see:
http://en.wikipedia.org/wiki/C%2B%2B/CLI[^],
http://www.ecma-international.org/publications/standards/Ecma-372.htm[^],
http://msdn.microsoft.com/en-us/library/xey702bw.aspx[^];
see also http://www.gotw.ca/publications/C++CLIRationale.pdf[^].
 
CLR, CLI and C++/CLI are standardized under ECMA and ISO, which is a huge plus.
 
[EDIT #2]
 
I forgot to mention IDE.
 
On Windows, you can develop on Visual Studio. With experience, you hopefully would be able just to rebuild the solution on Linux (not required for C++/CLI + Mono, as you can install Mono on Windows and test it all there).
 
However, in real life, some developing and debugging on other platform can be required. On Linux, I would recommend Anjuta:
http://en.wikipedia.org/wiki/Anjuta[^],
http://www.anjuta.org/[^].
 
In case of C++/CLI, you can use MonoDevelop, which is also available for Windows:
http://en.wikipedia.org/wiki/MonoDevelop[^],
http://monodevelop.com/[^].
 
Moreover, C++/CLI UI based on GTK+ or Qt is better to develop with MonoDevelop IDE than on Visual Studio.
 
Also, Qt comes with its own IDE which I did not try.
 
I really advise you to spend some time and try all of the options to decide which you would prefer. It's really hard to give a final advice.
 
—SA
  Permalink  
v7
Comments
H.Brydon at 7-Feb-13 13:24pm
   
Great answer (+5). Isn't there an Eclipse C++ IDE though? Also I read something about Anjuta (I used it briefly on linux but haven't tried it on Windows).
Sergey Alexandrovich Kryukov at 7-Feb-13 13:37pm
   
Thank you very much. Eclipse, is, basically, IDE for everything. By some reasons, I don't like Eclipse. However, maybe it's better these days...
—SA
hor_313 at 7-Feb-13 13:45pm
   
i havnt read all of them since now but i thank your effort. i am sure it'll help me
Sergey Alexandrovich Kryukov at 7-Feb-13 13:49pm
   
You are very welcome.
Good luck, call again.
—SA
hor_313 at 8-Feb-13 7:30am
   
if i dont like to use c++/cli and mono , which IDE is best (complete) to using for c++ ?
Sergey Alexandrovich Kryukov at 8-Feb-13 12:13pm
   
Define "better"... In my opinion, Visual Studio (Windows) and Anjuta (on Linux).
There can be something I don't know...
—SA
hor_313 at 8-Feb-13 12:35pm
   
with wich compiler ?
Sergey Alexandrovich Kryukov at 8-Feb-13 12:38pm
   
You are talking about cross-platform. So, in Windows it will be Microsoft, on Linux (or whatever else) — GCC, and you should develop the way to have the code compiled on both.
—SA
hor_313 at 8-Feb-13 11:50am
   
and i have another question : what is the difference between ToolKit and Library ?
Sergey Alexandrovich Kryukov at 8-Feb-13 12:11pm
   
Mostly just words, by "toolkit" is the wider concept, my suggest there also some tools/utilities...
—SA
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

IDE: wxWidgets(wxDev C++)
Compiler: gcc
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 400
1 Jochen Arndt 190
2 Richard MacCutchan 135
3 DamithSL 95
4 Garth J Lancaster 90
0 OriginalGriff 6,045
1 DamithSL 4,601
2 Maciej Los 4,032
3 Kornfeld Eliyahu Peter 3,480
4 Sergey Alexandrovich Kryukov 3,220


Advertise | Privacy | Mobile
Web04 | 2.8.141220.1 | Last Updated 8 Feb 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100