As we all know now Qt can run on Symbian Phones but there is one problem all SDK’s and Tool chain of this officially supports windows.
So how about people like us(who’s default OS is Linux) cant we develop for Symbian using Qt?
In answer to this question I found many articles/blogpost how to install Qt for Symbian on Linux but this is the one which work for me http://lizardo.wordpress.com/2010/02/18/installing-qt-for-symbian-sdk-4-6-2-on-linux/ .
I followed this post every thing was perfect except 2 things
1) creating .sis(the Symbian executable) file.
2) creating installer.sis(the Symbian executable installer) file.
and i figured out how to do that too.
I re-witting the basic installation from http://lizardo.wordpress.com/2010/02/18/installing-qt-for-symbian-sdk-4-6-2-on-linux/ . plus my Hacks/Tricks .
Tool-Chain:
Download all required files to a single directory (e.g. “~/downloads”):
For building the native tools from gnupoc, you will need:
- the GCC C/C++ compilers
- development files for zlib
- development files for openssl
On Ubuntu, you can install these using the following command:
sudo apt-get install build-essential zlib1g-dev libssl-dev
Installation
First, install GnuPoc + S60 SDK + the Open C/C++ plugin:
./gnupoc_1.15_installer_v2.sh \
<download-dir> \
<gnupoc-dir>\
<x.y>
Replace <download-dir> with the location of all files downloaded in previous section (e.g. “~/downloads”), <gnupoc-dir> with the destination directory for GnuPoc and the SDK files (e.g. “~/gnupoc”) and <x.y> (Note that this is not the directory) with the SDK version you want to install (e.g. “3.1″ or “5.0″). Note that both directories must have absolute paths.
If installation was successful, you should see an output like:
Installation has finished. Before using the GnuPoc SDK, run these commands on the console:
export PATH=<gnupoc-dir>/bin:$PATH
export EPOCROOT=<gnupoc-dir>/symbian-sdks/5.0/ # trailing “/” is required!
(These commands must be run again every time a new console is opened.)
Run the commands as instructed on the message. Next, install Qt for Symbian:
./qt_for_symbian_4.6.2_linux_installer_v3.sh \
<download-dir> \
<qt-s60-dir>
Replace <download-dir> with the location of all files downloaded in previous section (e.g. “~/downloads”), and <qt-s60-dir> with the destination directory for the Qt files (e.g. “~/gnupoc/qt-4.6.2″). Note that both directories must have absolute paths.
If installation was successful, you should see an output like:
Installation has finished. Before using the Qt for Symbian SDK, run this command on the console:
export PATH=<qt-s60-dir>/bin:$PATH
unset QMAKESPEC # make sure there is no QMAKESPEC variable set
(This command must be run again every time a new console is opened.)
Before using Qt for Symbian, you should run the command as instructed on the message above.
Usage example
Install Nokia Smart Installer :
- Unzip Nokia Smart Installer on top of your installed Qt for Symbian folder
in <qt-s60-dir>
To test the installation, I will describe how to build the “colliding mice” example.
- cd into the example source:
cd <qt-s60-dir>/examples/graphicsview/collidingmice/
- Now build the example and generate the SIS file
qmake
make debug-gcce
make sis
make installer_sis
Chnages/Hack/Tricks
You will notice that when you do make installer_sis
there is some error related to “createpackage.bat” file this is batch file what we have to do is open
Makefile
search for ok_installer_sis:
and change createpackage.bat to createpackage.sh
createpackage.sh is already there just that its not getting reflected in Makefile .
and now if you do make installer_sis you will get collidingmice_installer.sis
I have also created one bash function as follow:
function qtsis {
export PATH=<gnupoc-dir>/bin:$PATH
export EPOCROOT=<gnupoc-dir>/symbian-sdks/5.0/ # trailing "/" is required!
export PATH=<qt-s60-dir>/bin:$PATH
unset QMAKESPEC # make sure there is no QMAKESPEC variable set
}
Add this function in your .bashrc file with proper path which you get after installation.
and do source ~/.bashrc
now when ever you want to compile your qt code for Symbian 1st execute qtsis command on your terminal then other qt commands
A few notes:
- Make sure Qt is installed on the device before installing Qt applications. The easiest way to install it is to copy the “qt_installer.sis” package found under <qt-s60-dir> over bluetooth and open the received message to begin the installation.
- Only the “debug-gcce” (if you are using the GCCE toolchain AKA “CodeSourcery toolchain”) or “debug-armv5″ (if you are using RVCT) will work, because the current Qt releases only ship debug versions of the libraries
enjoy