Click here to Skip to main content
15,885,278 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
First off I'm still pretty new to C++ programming (only been using it for the past 6 - 9 months) and before that I was a VB and then C# programmer. All in all been doing this for about 8 years total (though I had a 4 year break in there). The company I work for is in the process of updating 10+ year old code (vb, and C++ MFC mostly). The initial push will be keeping with M$, but there seems to be thought of moving over to Linux for more than our File and Mail Server.
So, I was wondering if anyone could point me in the direction of some decent books on C++ GUI programming for Linux. Call me old, but I'm a book guy and I do enough reading from a screen all day. I've found a few that look promising for learning the basics of it from the Linux stand point rather than the M$, so I think I'm good there. Unless of course someone knows of a really good foundation book, then by all means.
Thanks in advance!
Posted

As a far-away alternative, you can use .NET and/or Mono on Windows and Mono on Linux to make cross-platform applications running without recompilation, see http://en.wikipedia.org/wiki/Mono_(software)[^], http://www.mono-project.com/[^].

For IDE on Linux you can use MonoDevelop, see http://en.wikipedia.org/wiki/MonoDevelop[^], http://monodevelop.com/[^].

For C++ development on Linux, you can use Open Source Anjuta IDE, see http://en.wikipedia.org/wiki/Anjuta[^], http://www.anjuta.org/[^].

—SA
 
Share this answer
 
Comments
MacRaider4 16-Jun-11 8:34am    
Well everything is currently in MFC C++ from VS 6.0 right now, and we are about 5% of the way into a VS2010 (update, that isn't impressing too many of us at the moment). Plus with the way M$ is going these days we are thinking that maybe making the move to Linux isn't a bad thing (over 90% of all the software we use is made by us, the other 10% is basically Office).
MacRaider4 16-Jun-11 8:35am    
Actually not everything, of the applications we are re-writing about 20% of those are VB 6.
Sergey Alexandrovich Kryukov 17-Jun-11 3:52am    
Well, VB6 code should be dumped asap, rewritten, MFC too. This is why one of the most important principle is to isolate UI part from functionality as much as possible -- UI tend to change. It it is not isolated, it's very painful.

May be Mono is not such a remote option? It supports System.Windows.Forms which is closely built on top of Windows API and follow many conceptions. I run my .NET application on Linux without recompilation, even with Forms.
--SA
MacRaider4 17-Jun-11 7:36am    
I haven't had much time to look into Mono or try it (we are moving here at work next week so are a bit busy). I was looking at the site though, and you have to pay for it? (or was I looking at the wrong thing? due to the move our boss isn't into spending extra money right now).

I think once we move and get settled in, we should finally have some decent time to put towards this project.

As far as isolating functionality from the UI, I've been trying to do that as much of possible with my re-writes. Though it is hard to get in the habit of doing things that way after so years many of doing it the VB 6 way (for lack of a better term (that's where I started VB 5/6)).
Sergey Alexandrovich Kryukov 17-Jun-11 13:43pm    
Oh gosh, of course you don't pay for it, it's all open source.
First of all, CLR, C# and C++/CLI are standardized under ECMA and ISO, obtaining standards is free. Mono also implement non-standard Microsoft .NET libraries, but not all. (There is no WPF, pity.)
--SA
Look into using the Qt framework, its a popular multiplatform framework that's backed by Nokia (always good to have big backer).

Of course, there's other frameworks that are out there as well.
- wxWidgets (modeled after MFC, meant for transitioning MFC code)
- GTK

...and I'm sure you can find even more on the internet.
 
Share this answer
 
Comments
MacRaider4 15-Jun-11 11:19am    
So Qt isn't just for phones then? I saw Nokia and got a little worried.
Albert Holguin 15-Jun-11 11:29am    
No, a lot of Linux was written in Qt (before Nokia) but there was some license conflicts and then people started to transition to GTK, but it seems that Nokia is actually taking steps to ease up on licensing terms.
Sergey Alexandrovich Kryukov 15-Jun-11 21:42pm    
Ha-ha, your can use Qt even on Windows and create well-portable applications!
--SA
MacRaider4 15-Jun-11 12:14pm    
Thanks for the info, I guess I'll look through the reviews on Amazon, cross my fingers and hope for the best.
As a side note, so something I write in Qt for Linux (lets say an application to update new employee information that a Manger could use vs me doing it directly on the server), I could also use that on windows, just have to create a different exe/install of it?
Sergey Alexandrovich Kryukov 15-Jun-11 21:44pm    
You can write application portable between Linux and Windows (with re-compilation) with Qt or GTK+.
With .NET on Windows and Mono on Linux you can run .NET Applications on Linux (and visa versa) without recompilation! (Some limitation apply.)
--SA

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



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900