Nokia N8最早出来的时候是Symbian^3,公司这边发的是北欧版的,不支持中文,想看中文页面只能用Opera。
本来最近想换个手机的,正好Belle发布了,今天更新了一下,原来的中文文件名的.mp3文件可以显示了,网页浏览器也可以看中文了,可以查看中文短信啊了。Symbian手机终于也算是个智能机了,有时间再试试中文输入法,不过目前的情况可以再用一阵子了。
2月20日备注:装上QQ的输入法之后,修改一下设置,然后重启机器,可以输入中文了。
Here is the official article for it, Installing Qt for the Symbian platform using Linux (experimental).
The basic idea is same on Linux and Mac OS X.
1. For phone, you need to install Application TRK
S60 5.0/Symbian^1 – s60_5_0_app_trk_3_2_7.sisx
Symbian^3 – s60_tb_9_2_app_trk_3_2_8.sisx
2. Use usb cable to connect your phone and computer, Linux or Mac OS X. Remember to set to “PC Suite” mode or “Nokia Ovi Suite” mode on your phone. Then launch your Application TRK via “RnD Tools”->”TRK”.
3. About the device name for your phone on computer
For Linux, see more details in Configuring the USB Serial Driver on the Linux System. After that, you will find /dev/ttyUSBx and maybe another /dev/ttyUSBy, better to “sudo chmod 777 /dev/ttyUSB*” for them(some Linux distribution do not give the access to normal users for it, like Ubuntu).
For Mac, you could find sth like /dev/cu.usbmodemfaXx and /dev/cu.usbmodemfaXy.
4. To build runonphone, you need to have libusb installed.
For Linux, just follow that documentation, “sudo apt-get install libusb-dev” should be ok for Debian/Ubuntu.
For Mac, “sudo brew install libusb-compat” works for me.
5. Build runonphone, use the qmake in your desktop Qt.
cd ~/qt/qt/tools/runonphone
/usr/bin/qmake
make
6. Build and run your autotests, please check previous blog for the EPOCROOT and PATH environments settings.
cd qt/qt/tests/auto/qdatetime
~/build/s3_gcce/bin/qmake -spec ~/qt/qt/mkspecs/symbian-gcce -o Makefile ~/qt/qt/tests/auto/qdatetime/qdatetime.pro
make sis
~/qt/qt/tools/runonphone/runonphone -p /dev/cu.usbmodemfa44 –sis ~/qt/qt/tests/auto/qdatetime/qdatetime.sis qdatetime.exe
NOTE: Here the /dev/cu.usbmodemfa44 is the device on Mac for me. And for Linux, the device is sth like /dev/ttyUSB1.
Enjoy it!
Similar steps as previous blog.
Here I will only mention the difference between them:
1. Qt 4.7, please wait a while for the merging of 7c499bcfbf7f9c52b3d6523fea8396bd4ab7252e.
git checkout -b 4.7 origin/4.7
2. You could enable the webkit which is inside of 4.7, then the configure line should be like:
~/qt/qt/configure -developer-build -opensource -confirm-license -xplatform symbian-gcce -webkit -fast -silent -nomake examples -nomake demos -nomake tools -nomake tests -qtlibinfix _liang
And for QtWebKit package:
cd ~/build/s3_gcce/src/3rdparty/webkit/WebCore
make sis
copy ~/build/s3_gcce/lib/QtWebKit_liang.sis toyourphone
For the demo browser application:
cd ~/qt/work/demos/embedded/anomaly
make sis
copy anomaly.sis toyourphone
3. Install the above Qt_liang.sis, QtWebKit_liang.sis, analogclock.sis and anomaly.sis, and enjoy them.
Launch it at “QtExamples”->”analogclock”.
Launch it at “QtDemos”->”anomaly”.
Build Qt 4.8 with Symbian^3 on Linux and Mac OS X
Kudos to Kristian Amlie and Thomas Zander for the “make file build system”.
1. OS:
Linux – mine is 2.6.38-8-generic x86_64
Mac OS X – mine is 10.6.8 64bit
2. Symbian^3
NOTE: Looks like Qt is still not the 1st-priority citizen in the Symbian^3 SDKs world, the reason why I say like that is this task, it means that you cannot use any version of Symbian^3 (public) SDKs to build Qt libraries from source. Details in the comment. Then we use the Symbian^3 PDK 3.0.4 for now. I am not sure how long this mirror service will be available there, you’d better backup those files by yourself.
Please download binaries_armv5_lib.7z.zip, binaries_armv5_udeb.7z.zip, binaries_armv5_urel.7z.zip, binaries_epoc.7z.zip, binaries_epoc_sdk.7z.zip, binaries_prebuilt.7z.zip, tools_epoc.7z.zip at least.
cd ~
mkdir -p symbian-sdks/pdk304
cd symbian-sdks/pdk304
7z x abovefiles
export EPOCROOT=~/symbian-sdks/pdk304/ //set env for EPOCROOT
The patch for Symbian^3 PDK 3.0.4 is here.
3. Wine
NOTE: The reason for installing wine is we are using the Symbian tools build on Windows, such as rcomp, makesis and many others.
Linux(Debian/Ubuntu): sudo apt-get install wine1.2
Mac OS X: Install wine 1.1.44, and upgrade it to 1.2
Add wine into path
export PATH=/Applications/Wine.app/Contents/Resources/bin:$PATH //for Mac OS X
4. Compilers:
Linux: RVCT 2.2(need commercial license) or GCCE 4.4.1(Symbian ADT Sourcery G++ Lite 4.4-172 for ARM SymbianOS)
Mac OS X: GCCE 4.4.1(Symbian ADT Sourcery G++ Lite 4.4-172 for ARM SymbianOS), after installed to default path, mv /Applications/CodeSourcery/Sourcery G++ Lite/ /Applications/CodeSourcery/Sourcery_G++_Lite. NOTE: need to remove those spaces in the path of compiler
Add compiler path into PATH:
export PATH=/Applications/CodeSourcery/Sourcery_G++_Lite/bin:$PATH
5. Qt 4.8
NOTE: better to use ea7ed6b27301a4834b1bfe0ad4e6e58462647d3e and later.
cd ~
mkdir qt
git clone -n git://gitorious.org/qt/qt.git qt
cd qt
git checkout -b 4.8 origin/4.8
6. Build it
cd ~
mkdir build
cd build
mkdir s3_gcce // this is for the GCCE case, or s3_armcc for RVCT 2.2 case
cd s3_gcce
~/qt/qt/configure -developer-build -opensource -confirm-license -xplatform symbian-gcce -no-webkit -fast -silent -nomake examples -nomake demos -nomake tools -nomake tests -qtlibinfix _liang // this is for GCCE case, or “-xplatform symbian-armcc” for RVCT 2.2 case
make -j8 // maybe fail at somewhere, then just try “cd src;make -j1” finish it
cd src/s60installs
make sis
cd ~/build/s3_gcce/lib
cp Qt_liang.sis toyourphone
cd ~/qt/qt/examples/widgets/analogclock
~/build/s3_gcce/bin/qmake
make sis
copy analogclock.sis toyourphone
7. Install your own build Qt libraries and application
Goto “Office”->”File Manager”, manually install Qt_liang.sis and analogclock.sis
8. Run your appliation
Launch it at “QtExamples”->”analogclock”. Enjoy it!
Known issues or other topics:
1. There is still some issue to build qtwebkit which the one inside of qt 4.8 or from qtwebkit git repo directly. If I got solution, I will let you know.
2. Mabye write something about runonphone on Linux and Mac OS X, it is a very good tool to test qt applications.
Build Qt with S60 5.0 Public SDK(2nd version)
Platform: Windows XP with SP3(now we only support Qt/S60 on it.)
1. SYMBIAN Development Environment
For downloading the packages, you need to register an account in the forum of Nokia,
http://www.forum.nokia.com/main/registration/registration.html
1-1. Carbide.C++
http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/
http://sw.nokia.com/id/7710eba7-4da7-4ddc-a52a-53b506cadb4a/Carbide_cpp_v2_0_en.exe
Carbide.C++ 2.0
Carbide_cpp_v2_0_en.exe 203MB
1-2. S60 Platform SDKs for Symbian OS, for C++
http://www.forum.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.html
http://sw.nokia.com/id/577ad48d-290c-4bb5-8bdf-779ea8a5bc6c/S60_5th_Edition_SDK_v1_0_en.zip
S60 Platform SDKs for Symbian OS, for C++, 5th Edition
S60_5th_Edition_SDK_v1_0_en.zip 622MB
1-3. Open C/C++ Plug-in
http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-227e42df9053/Open_C_SDK_Plug-In.html
http://sw.nokia.com/id/fbe59b85-a621-404b-94d7-94ca818e576a/s60_open_c_cpp_plug_in_v1_6_en.zip
Open C/C++ Plug-in 1.6
s60_open_c_cpp_plug_in_v1_6_en.zip 34MB
2. Installation
Please install following packages as default path.
Install ActivePerl-5.6.1.638-MSWin32-x86.msi.
Install Java SE Development Kit (JDK), JDK 6 Update 16, jdk-6u16-windows-i586.exe
Install Carbide.C++.
After installed Carbide.C++, please download x86Tools_3.2.5_Symbian_b482_qt.zip. Please extract all files in it, and copy or move them to overwrite this folder, C:Program FilesNokiaCarbide.c++ v2.0x86Build.
Please run this, Start->Carbide.c++ v2.0->Configure environment for WINSCW command line.
And you also need to use Git to get Qt from Qt Git Repo, better to download this version of Git.
Please also make sure the path of our perl(default: C:Perlbin) should be before the perl in git(default: C:Program FilesGitbin) in PATH.
For Host Tools:
For MinGW user, please download MinGW-5.1.4.exe(Note: here the 5.1.4 is the version of installer, the compiler version is 3.4.5.), use it install g++ and make at least. And please add the env for MinGW, C:MinGWbin, at the beginning of the PATH.
For Microsoft Visual C++ Express Edition user, please download the vcsetup.exe and install 2008 with SP1.
For Device:
You need to install RVCT 2.2, we are using “Build 683”. You can use RVCT to build Qt libraries and applications which could running on S60 devices.
You can also install the “CSL Arm Toolchain”, if you forgot it, you can find it in Start->S60 Developer Tools->5th Edition SDK->v1.0->Tools->CSL Toolchain (GCCE) Install. You can use GCCE to build Qt applications with pre-build Qt libraries, and run your Qt applications on devices.
3. Build Qt with S60 5.0 Public SDK
For MinGW user, just open a Windows Command Prompt.
For VC2008EE user, please open Visual Studio 2008 Command Prompt.
C:
mkdir git
cd C:git
git clone -n git://gitorious.org/qt/qt.git
cd qt
git checkout -b 4.6 origin/4.6
set PATH=C:gitqt-s60bin;%PATH%
For MinGW user:
configure -platform win32-g++ -xplatform symbian-abld -qt-sql-sqlite -system-sqlite -no-script
For VC2008EE user:
configure -platform win32-msvc2008 -xplatform symbian-abld -qt-sql-sqlite -system-sqlite -no-script
make debug-winscw // for emulator
make release-armv5 // for devices arvm5
4. Build Examples
cd C:gitqtexampleswidgetsanalogclock
qmake
make debug-winscw // for emulator
make release-armv5 // for devices arvm5
make release-gcce // for devices gcce
5. Run
In Emulator:
C:S60devicesS60_5th_Edition_SDK_v1.0epoc32releasewinscwudebepoc.exe
“Menu”(or click the middle one of the 3 buttons)->QtExamples->analogclock
In Device:
createpackage C:gitqtsrcs60installsQt_for_S60_template.pkg release-armv5 // create Qt install package, it locates in C:gitqtsrcs60installsqt_for_s60_release-armv5.sis
createpackage C:gitqtexampleswidgetsanalogclockanalogclock_template.pkg release-armv5 // create analogclock armv5 install package, it locates in C:gitqtexampleswidgetsanalogclockanalogclock_release-armv5.sis
createpackage C:gitqtexampleswidgetsanalogclockanalogclock_template.pkg release-gcce // create analogclock gcce install package, it locates in C:gitqtexampleswidgetsanalogclockanalogclock_release-gcce.sis
Before you install Qt install package, you should also insall following packages:
pips_s60_1_6_SS.sis
openc_ssl_s60_1_6_SS.sis
STDCPP_s60_1_6_SS.sis
You can find them in C:S60devicesS60_5th_Edition_SDK_v1.0nokia_pluginopencs60opencsis and C:S60devicesS60_5th_Edition_SDK_v1.0nokia_pluginopencpps60opencppsis.
NOTE: If you are using virtual machine, please do not use Windows Remote Desktop to connect it. The default audio driver for it will cause S60 Emulator crash.
Build Qt with S60 5.0 Public SDK
Platform: Windows XP with SP3(now we only support Qt/S60 on it.)
1. SYMBIAN Development Environment
For downloading the packages, you need to register an account in the forum of Nokia,
http://www.forum.nokia.com/main/registration/registration.html
1-1. Carbide.C++
http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/
http://sw.nokia.com/id/7710eba7-4da7-4ddc-a52a-53b506cadb4a/Carbide_cpp_v2_0_en.exe
Carbide.C++ 2.0
Carbide_cpp_v2_0_en.exe 203MB
1-2. S60 Platform SDKs for Symbian OS, for C++
http://www.forum.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.html
http://sw.nokia.com/id/577ad48d-290c-4bb5-8bdf-779ea8a5bc6c/S60_5th_Edition_SDK_v1_0_en.zip
S60 Platform SDKs for Symbian OS, for C++, 5th Edition
S60_5th_Edition_SDK_v1_0_en.zip 622MB
2. Installation
Please install above 2 packages as default path.
Installation order: Carbide.C++, S60 SDK.
After Carbide.C++, you may need to install ActivePerl-5.6.1.638-MSWin32-x86.msi:
http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.msi
And you also need to use Git to get Qt from Qt S60 Git Repo, better to download this version of Git.
Please also make sure the path of our perl(default: C:Perlbin) should be before the perl in git(default: C:Program FilesGitbin) in PATH.
Please run this, Start->Carbide.c++ v2.0->Configure environment for WINSCW command line.
3. Build Qt with S60 5.0 Public SDK
cd C:git
git clone git://gitorious.org/+qt-s60-developers/qt/qt-s60.git
cd qt-s60
set PATH=C:gitqt-s60bin;%PATH%
configure -platform win32-mwc -xplatform symbian-abld -openssl-linked -qt-sql-sqlite -system-sqlite
make debug-winscw
4. Build Examples
cd C:gitqt-s60exampleswidgetsanalogclock
qmake
make debug-winscw
C:S60devicesS60_5th_Edition_SDK_v1.0epoc32releasewinscwudebepoc.exe
“Menu”(or click the middle one of the 3 buttons)->QtExamples->analogclock
Trolltech Labs Blog: Qt for S60 repository going public
Qt S60 Git Repo
注意:Qt/S60在S60 5.0 Public SDK中需要最新版的Open C,估计会在近期发布。大家可以先尝试3.2和3.1。同样因为编译器的原因,大家不能编译用于手机硬件的Qt库,这个需要商业版的RCVT。
About Symbian development environment, please have a look at:
SYMBIAN Development Environment – 1
SYMBIAN Development Environment – 2
Build Qt for Symbian
Platform: Windows XP with SP3(now we only support Qt/S60 on it.)
0. Patches
Patches for S60 development environment
1. Build Qt for symbian
qt-embedded-s60-opensource-src-4.4.2-pyramid.zip
You need to make sure to use Symbian X86 compiler (version 3.2.5 build 473).
Follow this steps in C:Qt4.4.2-pyramiddocinstall-s60.html
Uncompress the package and put it in C:Qt4.4.2-pyramid.
Set your PATH including C:Qt4.4.2-pyramidbin.
Configure:
C:
cd Qt4.4.2-pyramid
configure -platform win32-mwc -xplatform symbian-abld -qconfig symbian
Build:
bldmake bldfiles
abld build winscw udeb
Notice: Please store the Qt/S60 repository and Symbian SDK in the same hard disk drive, maybe you can store them in different drives, and then use tools like WinMount to mount them to same drive.
Before configure and build, you need set EPOCROOT to your SDK, I use “/S60/devices/S60_3rd_FP2_SDK/”, just because my sdk is in C:S60devicesS60_3rd_FP2_SDK.
2. Build Examples
2-1. How to build Qt/S60 application
C:Qt4.4.2-pyramiddocs60-with-qt-introduction.html
Please make sure to use the qmake in your Qt/S60 build.
qmake
bldmake bldfiles
abld build winscw udeb
Run Carbide.c++ v1.3, In the tab of “Symbian Project Navigator”, right click mouse in white space, choose “Import”, in the “Import” dialog, choose “Symbian OS Bld.inf file” under “Symbian OS”, then “Next”, then “Browse…” to choose the bld.inf in above directory. Then you could build it, run it and debug it in Carbide.c++.
2-2. XML HTML info Example
C:Qt4.4.2-pyramiddocxml-htmlinfo.html
Note: Standard out is redirected on some platforms. On Symbian using Open C stdout is by default directed to the console window, but this window may not always be visible. To redirect to a file instead, locate the c:\system\data\config.ini file (on either the emulator or the device) and change STDOUT to point to MEDIA4. This will redirect the console to c:\system\data\out.txt.
For me, the config.ini is C:S60devicesS60_3rd_FP2_SDKepoc32winscwcsystemdataconfig.ini, the out.txt is C:S60devicesS60_3rd_FP2_SDKepoc32winscwcsystemdataout.txt.
Run the Emulator, Start->S60 Developer Tools->3rd Edition FP2 SDK->Emulator.
In the Emulator, go to Menu->Installations->eshell, and type htmlinfo in prompt mode.
2-3. analogclock Example
Now it works fine for me.
Qt/S60 team are still working on the project to make all things work.
3. Build Qt applications for your mobile phone
Please have a look at C:Qt4.4.2-pyramidREADME and C:Qt4.4.2-pyramidINSTALL.
Just go to your Qt application directory,
qmake
bldmake bldfiles
abld build gcce udeb
Create a package for your mobile phone:
createpackage yourqtapplication_gcce_udeb.pkg
Note: Now the package will include Qt library in the .pkg file, if you already have a Qt application package installed, maybe you can’t install the next one. Then please remove these lines from the .pkg file of your second application.
“epoc32releasegcceudebQtGui.dll” – “c:sysbinQtGui.dll”
“epoc32releasegcceudebQtNetwork.dll” – “c:sysbinQtNetwork.dll”
“epoc32releasegcceudebQtCore.dll” – “c:sysbinQtCore.dll”
Platform: Linux and OS X