[SOLVED] Problem when compiling for Maemo 5
I try to compile a helloworld for Maemo5 (just the very simple MainWindow application that comes by default when creating new project with qt-creator)
It fails saying
@/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include/QtCore/qatomic_armv6.h: Assembler messages:@
@/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include/QtCore/qatomic_armv6.h:138: Error: no such instruction: `ldrex ecx,[ eax]'
/opt/NokiaQtSDK/Maemo/4.6.2/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include/QtCore/qatomic_armv6.h:139: Error: expecting operand after ','; got nothing@
I am launching qmake like that
@/opt/NokiaQtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/qmake projet.pro -r -spec linux-g++-maemo5 @
It works well for desktop, and also I managed to configure it to work well from within the graphical environment of Qt-creator.
I suspected a problem with moc because when I ls the files in the buildirectory of maemo i have
@ -rw-rw-r-- 1 max max 134436 Sep 15 13:02 main.o
-rw-rw-r-- 1 max max 16668 Sep 15 13:02 Makefile
-rw-rw-r-- 1 max max 2163 Sep 15 13:02 ui_mainwindow.h@
While when I do this for the build directory of the destkop application
@-rw-rw-r-- 1 max max 1604 Sep 15 13:02 main.o
-rw-rw-r-- 1 max max 4776 Sep 15 13:02 mainwindow.o
-rw-rw-r-- 1 max max 8795 Sep 15 13:02 Makefile
-rw-rw-r-- 1 max max 2366 Sep 15 13:02 moc_mainwindow.cpp
-rw-rw-r-- 1 max max 6648 Sep 15 13:02 moc_mainwindow.o
-rwxrwxr-x 1 max max 54663 Sep 15 13:02 projet*
-rw-rw-r-- 1 max max 148395 Sep 15 13:02 qrc_projet_ressource.cpp
-rw-rw-r-- 1 max max 31364 Sep 15 13:02 qrc_projet_ressource.o
-rw-rw-r-- 1 max max 2163 Sep 15 13:02 ui_mainwindow.h @
I am really struggling with it, also any help is welcome.
PS: in the post above I removed the percent symbols in the error message of assembler because it does not work when posting on the forum
If you develop for Maemo you must use an old Qt Creator. I think it will write a makefile in your project directory for compiling that should tell exactly what moc files Qt Creator tries to use and where they should be. That info should hopefully help you notice any moc-related problems.
When I diff the 2 Makefile ,the one from graphical and the one from command line they are strictly the same. (expect date obviously)
when I ls the build dir of the graphical I have
@debian main.o mainwindow.o Makefile moc_mainwindow.cpp moc_mainwindow.o projet qrc_projet_ressource.cpp qrc_projet_ressource.o ui_mainwindow.h
when I ls the build dir of the command line script I have
@main.o Makefile ui_mainwindow.h
Why isn't their any moc inside this directory ? It is fucking weird...
The problem was in the qmake.conf
I had to edit it for g++ and gcc