An update on the ZXingBarcodeReader tutorial.
[zxing.git] / symbian / ZXingBarcodeReader_tutorial.txt
1 The whole ZXingBarcodeReader folder is a Carbide project build and tested on both \r
2 S60 5th Edition SDK and S60 3rd Edition FP2. (currently only Qr Codes can be detected)\r
3 \r
4 == Prerequisities ==\r
5 \r
6 * Have at least one S60 SDK. One of the SDKs can be obtained from here:\r
7         http://www.forum.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.html\r
8         \r
9 * After installing S60 SDK you have to install OpenC++.\r
10         http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-227e42df9053/Open_C_SDK_Plug-In.html\r
11         \r
12 * (Optional) You can use Carbide C++ as IDE which makes the life a bit easier on creating applications for Symbian.\r
13         An alternative approach is to compile the program in command line but i am afraid i can help you here because i\r
14         have no idea :P\r
15 \r
16 == Create project ==\r
17 If you have Carbide C++ IDE then go "File->Import->Symbian OS->Symbian OS Bld.inf file",\r
18 click "Browse" and find and select file "ZXingBarcodeReader\group\bld.inf".\r
19 Next step you select the S60 SDK to be compiled to and you are ready.\r
20 \r
21 == Build project ==\r
22 Since the project is created, we can proceed to build it.\r
23 \r
24 First in "ZXingBarcodeReader\camerawrapper" folder there is a folder named "epoc32".\r
25 Copy this folder and paste it to the root folder of the S60 SDK that you are going to use\r
26 (in my case: C:\S60\devices\S60_5th_Edition_SDK_v1.0). This step is important in order\r
27 to use a Plug-In API for the easier manipulation of the camera.\r
28 \r
29 Now we are ready to compile. Since the camera is not supported in the Symbian emulator we\r
30 will build the project directly to be installed on a devidce.\r
31 Select "ZXingBarcodeReader" project in the "Project Explorer" view in Carbide, right click on it\r
32 and select "Properties". Expand "Carbide.c++" field and select "Build Configurations".\r
33 Being in the "SIS Builder" tab, select as Active Configuration the "Phone Degug (GCCE)".\r
34 Then press "Add" button, and to select a PKG file click "Browse" button. Go to "ZXingBarcodeReader\sis"\r
35 folder and select "ZXingBarcodeReader_S60.pkg" file. Make sure that "Self sign sis file" radio\r
36 button is selected and press OK.\r
37 \r
38 Now go "Project->Build Project" and if everything goes right, you will have 2 installation files\r
39 in "ZXingBarcodeReader\sis" folder. Install the .sisx file to your device and you are ready.\r
40 \r
41 == Deploying specificaly to S60 3rd edition ==\r
42 Deploying the project to a S60 3rd edition requires one more step (executed only once).\r
43 After the installation of OpenC/C++ plug-in, the installation files contained in the following folders\r
44 have to be installed to the device:\r
45 \r
46 S60 SDK root folder \ nokia_plugin \ openc \ s60opencsis\r
47 and\r
48 S60 SDK root folder \ nokia_plugin \ opencpp \ s60opencppsis\r
49 \r
50 If this step is not taken, the application will be able to be installed to the device but it WILL NOT RUN!\r
51 When deploying to S60 5th edition, this step is not required because the plug-in is integrated into it already.\r
52 \r
53         ------ Optional when deploying to S60 3rd edition ------\r
54         To integrate the installation files to the project installation file just put the following lines to the .pkg file:\r
55 \r
56         @"$(EPOCROOT)Epoc32\..\nokia_plugin\openc\s60opencsis\pips_s60_1_6_SS.sis", (0x20013851)\r
57         @"$(EPOCROOT)Epoc32\..\nokia_plugin\openc\s60opencsis\openc_ssl_s60_1_6_SS.sis",(0x200110CB)\r
58         @"$(EPOCROOT)Epoc32\..\nokia_plugin\openc\s60opencsis\openc_glib_s60_1_6_SS.sis",(0x200110CC)\r
59         @"$(EPOCROOT)Epoc32\..\nokia_plugin\opencpp\s60opencppsis\STDCPP_s60_1_6_SS.sis",(0x2000F866)\r
60 \r
61         This will make the final installation file approximately 2.8MB which is not the best solution but this is left to \r
62         the judgement of the developer whether on not he takes this step.\r
63 \r
64 == The same project in Qt ==\r
65 \r
66 In case you are interested in using this project with Qt on Symbian, take a look at QQrDecoder folder.\r
67 \r
68 \r
69 \r