MADDE and Qt Creator Integration

This article has been in my mind quite a long time already, but now I finally had time to test MADDE and write something about it. MADDE stands for Maemo Application and Debugging Environment. Before going any further, I want to say that this is not a MADDE tutorial, this is about the MADDE and Qt Creator integration.

Why I am interested in about MADDE is that you can quite easily to integrate it with Qt Creator. In practice, this means that you can use Qt Creator in the same way as you would create an application for your desktop environment, but instead of running your application on a desktop, you can also run and debug it directly on N900.

I know, there are bunch of people who are screaming: “you can use Qt Creator with Scratchbox too.” This is true and there are two ways to do it: you can run it inside the scratchbox or you can make your Qt Creator to use compiler and qmake inside the scratchbox from outside. (Sounds complicated)

Both of these ways work, but they are also bit problematic. Running Qt Creator inside the scratchbox requires bit “configuring”, but is quite easy to do. Basically what you need to do, is that you install the Qt Creator to the X86 target and set the DISPLAY=:0 before launching Qt Creator. The problem with this approach is that when you need to switch the target, Qt Creator will be closed. If you want to develop your app  on ARMEL target, then it means that you need to run ARMEL version of Qt Creator in Scratchbox too. For me, this sounds not-so-nice-solution.

I have never tried to set Qt Creator to use qmake inside the Scratchbox from outside, but I know guys who have used this approach. With this way, there have been bit more problems than using Qt Creator inside the Scratchbox. Even though it’s possible to “integrate” Qt Creator with scratchbox, it is still missing an easy way to debug and run your application on a device during the development.

Qt Creator and MADDE Integration

MADDE’s way to integrate Qt Creator is easy. First install MADDE. You can follow instructions from Qt Labs blog. Then make Qt Creator to use correct Qt by following instructions from Maemo.org. Next, this is where all the magic happens and how it should have been done ages ago. It is possible to develop your application on your desktop PC with Qt Creator, but instead of building app, copying your app/package to the N900, you can run in it on the device from your Qt Creator.

  • First you need to install run-time i.e. mad-developer package to you N900. Follow the instructions from here.
  • Run mad-developer i.e. MADDE run-time/client in you N900 and add your device as a Maemo device for your Qt Creator
  • Make sure that your application is “Maemo Application”
  • Start coding with Qt Creator and test your application on device just hitting the “Run” button in Qt Creator.

Sounds easy and that’s what it really is. You can use USB networking or a wlan for connecting your device and Qt Creator. I think video tells you more and the next video will show you how easy it is to develop with MADDE and Qt Creator. The application is just a crappy test application that I created for this video.  Sorry about the bad English on the video, it was quite late at night when I was shooting it and I didn’t want to reshoot it many times. I believe you will get the idea how MADDE and Qt Creator work together and how you can test your app on device.

Conclusion

In my opinion the integration of MADDE and Qt Creator is something that is needed in MeeGo world.  I don’t know what are the plans in the MeeGo side related on the SDK and the development kit, but MADDE/Qt Creator is definitely something that is worth to try. I must also say here that I didn’t look at MADDE configuration too closely so it’s quite hard for me to say, is it easy to use compared to Scratchbox. At least it was much faster to install.

MADDE is a technical preview at the moment, so it’s not perfect yet, but I believe if there will be more users for MADDE, they could provide important feedback for Nokia.

What comes to the Qt Creator, it’s really amazing where it is today. It wasn’t so long time ago that the whole project was started and today you can use it for coding, for Qt Designer, for Qt Quick, for MADDE and it is a really good IDE. Of course you need to remember that it’s evolving all the time and for Qt Quick and MADDE it’s not so finalized state at the moment.

Thanks for reading my blog.

<object width=”640″ height=”385″><param name=”movie” value=”http://www.youtube.com/v/020YrHTGXII&hl=en_US&fs=1&”></param><param name=”allowFullScreen” value=”true”></param><param name=”allowscriptaccess” value=”always”></param><embed src=”http://www.youtube.com/v/020YrHTGXII&hl=en_US&fs=1&” type=”application/x-shockwave-flash” allowscriptaccess=”always” allowfullscreen=”true” width=”640″ height=”385″></embed></object>

Tags: , , , ,

5 Responses to “MADDE and Qt Creator Integration”

  1. simudream says:

    Hi this is a nice demo.

    I am attempting to achieve the same result on OSX using MADDE and my N900.

    The current error message I’m faced with is:
    Could not find make command: make in the build environment
    Error while building project n900 (Maemo)
    When executing build step ‘Make’

    In options under QT4 I added a Manual MADDE qmake path:
    /Users/dev/.madde/0.6.14/targets/fremantle-qt-0951/bin/qmake

    My Build Steps have:
    qmake: qmake n900_test.pro -r -spec linux-g++-gles2 CONFIG+=debug
    Make Step: make not found in the environment

    If I delete the Make Step: line from the build step I don’t get the error while building the project message, but the app still fails to build and deploy properly. So I feel like I am missing something here to get this to work. My N900 is connected through wLan and is connected communicating properly.

    Any ideas or help would be fantastic.

    Thanks so much…

  2. zchydem says:

    @simudream Thanks for the comment:)

    Here are my settings. They look pretty much same as yours.
    Qt for Maemo:
    /Users/markomattila/.madde/0.6.14/targets/fremantle-qt-0951/bin/qmake

    Buildstep:
    qmake /Users/markomattila/Work/Maemo/MaddeTestProject/MaddeTest/MaddeTest.pro -r -spec linux-g++-gles2 CONFIG+=debug

    Make:
    make -w /Users/markomattila/Work/Maemo/MaddeTestProject/MaddeTest

    Is your Make set correctly? For me everything worked out-of-box pretty much…

  3. simudream says:

    Is your ‘make’ a shortcut to gnumake? I think I might be missing the correct make if yours is not that.

    I wonder where your make is located so I can figure out where I’m going wrong and maybe figure out where I can get the correct ‘make’.

    Thanks for the speedy reply…

Leave a Reply

You must be logged in to post a comment.