Tuesday, 29. January 2008, 17:04:14
QT
There are a number of myths surrounding Opera, that is repeated from time to time, and that seem to never go away.
One of them you can see in this
article, which is about Nokia trying to buy Trolltech.
The article makes it sound like Opera is based on Qt, which is not actually true.
Opera has never been based on Qt. Opera developed its own lightweight portability layer, to be able to move to all kinds of platforms, even where no cross platform toolkits are available. Opera for Linux is using Qt the same way as Opera for Windows is using Windows API:s to connect to the platform.
Opera is agnostic to platforms. devices, and toolkits. Of course individuals working for Opera likes some better than others, but when it comes down to it, we will do whatever it takes to deliver the best Internet experience on any device.
Tuesday, 1. January 2008, 22:31:26
QT, gdb, MinGW, emacs
...
My quest for the perfect cross platform hobby development environment goes on.
The first thing I did was to run gdb on QT applications in Emacs on MacOS X, and it did not take long to get that working, since everything already was installed on my computer. I still have to build with xcode, since I haven't figured out yet how to build QT applications with just the command line yet. I was so happy to get gdb working, so I moved on.
Next stop was Windows Vista. I installed QT, and had lots of problems with that, but it should not have been a problem I just misread the manual. QT was nice enough to ask me if I wanted to install MinGW, which includes gcc and make, and I couldn't turn down such a fine offer. I had of course installed Emacs 22.1 too.
The last step, getting gdb running, was not something that I thought would happen easily. A quick search on Google gave me almost nothing. (everything that Google could find was older than Windows XP, so not much help there) After Google, I checked MinGW home page, where I found gdb.
I had some problems building a debug version of my QT application, made a small change to the debug makefile, and was able to debug with gdb in Emacs.
I still need to tweak my development system some, but at least I have a proof of concept that my current setup can be used for cross platform development.
I am not a tool person, I hate tools. I am used to move between platforms, and I have a hard time getting attached to tools that is not cross platform. Now at least I have a motivation for learning Emacs.
Monday, 31. December 2007, 23:25:38
gdb, QT, emacs
I just upgraded to Ubuntu 7.10 on my desktop machine, since I wanted to do QT development with 4.3. It was no problem, except it didn't replace my Emacs 21 with Emacs 22. Well, it was an easy fix, Emacs 21 is no longer installed on my computer.
Then I installed qt4.3 development kit with the package manager, and what I needed to do to be able to run and debug a simple QT application:
In the terminal:
qmake -project
qmake
make
And in Emacs:
M-x gdb
Surprise, surprise, Emacs-gdb has a graphical ui for all the common things, like adding breakpoints and stepping through the code, so I just had to click on the screen to debug.
I think this is my current setup of packages for doing C++ development in Ubuntu:
emacs
g++
gdb
libqt4-dev
Finally I have a tool chain in Ubuntu for hobby hacking that works.
Monday, 31. December 2007, 11:35:13
QT, MacOS
I went away for a week during the christmas holidays, and brought my PowerBook with me. It was a long time since I used it, so I think it was about time.
First of all, I tried out the latest weekly Opera 9.5 build, and it was good. I have never liked Opera on MacOS X before (Windows and Linux versions have in my opinion been so much better), but now it looks and feels rather good. If Opera works, it will be easier to stay in Mac land.
Next stop was XCode, that I recently upgraded to the latest version, 2.5. I have not used it that much before, it has been a little bit buggy, but this time I haven't run into any big issues.
For some reason, I decided to learn Emacs for real. I have used Emacs for 12 years or so, but never really liked it, so I have never cared to get the most out of it. I downloaded version 22.1 for MacOS X, took the tutorial, and began to try to use it all the time. The problem with Emacs is that it always work a little bit differently when I move between operating systems and versions. Well, from now on I will only use 22.1 and see if that solves things.
I have been looking for a tool to be able to write gui applications easily. Almost all rapid tools I have tried, I get to the point where the documentation is really bad. This is the case for the MacOS X SDK, there is actually a lot of documentation, but it is very hard to find what you want, and the different API:s don't blend that well with each other.
I can't remember why (this decision was made yesterday), but I decided to try out QT. It was very easy to install on my PowerBook, and I got the latest version 4.3.
Last time I tried QT was in 2000, and I disliked the moc (signals&slots) very much. In version 4, they have taken the preprocessing even further, and now we have foreach and so much more. I went through the tutorial, it took several hours since I insisted on typing all into Emacs to get some practice.
I am so impressed with the current version of QT. It is of very high quality, the documentation is superb, and the applications that is written blends very well with MacOS X. The tool qmake makes it very easy to create an xcode project, so there is no problem with the moc files anymore.
I am starting to get the old BeOS feeling back. And, with Benoit Schillings as the CTO of TrollTech, maybe it isn't a surprise.
So, back to MacOS X, I am still using Tiger. Since I now have a development platform that is fun, and a browser that is good, I am starting to explore Mac OS X even more. It looks so good, compared to the competition. It feels rather good too. Since I got so disappointed with Ubuntu 7.10, maybe it is time to switch to MacOS X as my main system soon. If only Steve Jobs stopped advocating all the patents every time he introduces something new, a switch would be so much easier.