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/ Download the latest version, unpack it and run the 'install_eka2_tools' script as described in the last part under the EKA2 part. The part about the your own gcc are not needed as we use the rvct compiler. Make sure you do the part about Wine setup as well. - Anderson Lizardo's patches for GnuPoc. Look for the qt_s60_gnupoc_v10.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 RVCT22LIB=/lib/armlib export EPOCROOT= 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. 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 3. 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 4. Compile QtCore.dll: cd ../corelib qmake -platform symbian/linux-armcc make and then wait for a while. 5. Compile some helloworld application (I leave the details to you ;-) qmake -platform symbian/linux-armcc make 6. 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 7. Enjoy QObjects and "hello world" on the phone!