How to build Qt for Symbian using the Linux makespec. Prerequisites: - Working RVCT 2.2 native Linux compiler. The new publicly available RVCT 4.0 compiler may work, but it hasn't been tested yet. - A working GnuPoc environment. See this page for details: http://www.martin.st/symbian/. Make sure you do the part about Wine setup as well. - Anderson Lizardo's patches for GnuPoc. Look for the qt_s60_gnupoc_v9.patch on this page: http://lizardo.wordpress.com/2009/09/24/installing-qt-for-s60-daily-snapshots-on-linux/ and carry out the instructions under point 8: Installing Open C. Compiling: 1. First a few environment variables need to be set: export RVCT22INC=/epoc32/include export RVCT22INC=$RVCT22INC,/epoc32/include/rvct2_2 export RVCT22INC=$RVCT22INC,/epoc32/include/variant export RVCT22INC=$RVCT22INC,/epoc32/include/stdapis export RVCT22INC=$RVCT22INC,/epoc32/include/stdapis/stlport export RVCT22LIB=/epoc32/release/armv5/lib export PATH=$PATH:/epoc32/tools export PATH=$PATH:/bin Replace the s60-root with the installation directory of your SDK, and the qt-root with the root of your Qt repository. These are good candidates for putting in a script somewhere. 2. Switch out a few variables in profiles. Open mkspecs/symbian/linux-armcc/qmake.conf, search for "FIXME/Epoc32" and switch out the FIXME part with your SDK installation directory. You might have to switch the case of the Epoc32 directory as well. 3. Run configure. It needs a bit more switches than usual, so here's the full line: ./configure -developer-build -platform linux-g++ -xplatform \ symbian/linux-armcc -little-endian -host-little-endian \ -arch symbian 4. Compile the host tools. This unfortunately does not happen automatically. cd src/tools for i in bootstrap moc rcc uic; do make -C $i; done 5. Compile QtCore.dll: cd ../corelib qmake -platform symbian/linux-armcc make and then wait for a while. 6. Compile some helloworld application (I leave the details to you ;-) qmake -platform symbian/linux-armcc make 7. Package and run on the phone. This is unfortunately a bit of a manual step at the moment. Your best bet is to look at a Windows build of the same application, and manually grab the .rsc files that it refers to and put them in the application directory on Linux. Then you can take the pkg_template.pkg file provided in the repository and tweak it to include the files you want. Note that due to limitations on how the makesis tool interprets file paths, all the files included need to be in the current directory (or a link from there). Assuming that all the files are in place, do this: cp /src/s60installs/selfsigned.* . winewrapper makesis.exe MyApp.pkg MyApp_unsigned.sis winewrapper signsis.exe MyApp_unsigned.sis MyApp.sis \ selfsigned.cer selfsigned.key 8. Enjoy QObjects and "hello world" on the phone!