Appendix1 Qt Embeded shapes development procedure

12
Appendix1 Qt Embeded shapes development procedure 1 Geliştirme ortamı kurma (p 444) 2 X86 Qtopia platform ve Merhaba Dünya ve gömülü tarayıcı derlemek ( p 445) 2.1 Derleme Qt / Embedded (p 446) 2.2 PC Qtopia yayınlamakla Simule (p 446) 2.3 Derleyici Merhaba Dünya örnek (p 446) 2.4 Hello, ayrı bir dünya Çalıştırma (p 448) 2.5 Qtopia Hello, dünya çalışıyor (p 448) 3 Qtopia Platformu ARM derleyici ve Merhaba Dünya ve gömülü tarayıcı (p 449) 3.1 Derleme Qt / Embedded (p 449) 3.2 Derleyici Merhaba Dünya örnek (p 450) 3.3 Hello, dünya indirip çalıştırmak hedef tahtası (p 450) 3.4 Qtopia üretim güncellemek için kendi dosya sistemini kullanmak için derledik (p 454) 4 Sıkça Sorulan Sorular (p 454) 4.1 Hataları inşa ve uygulanması (p 455) 4.2 Merhaba derleyici hatası (p 456) 4.3 Merhaba zaman ikinci hata mesajı derleme (p 456)

Transcript of Appendix1 Qt Embeded shapes development procedure

Appendix1 Qt Embeded shapes development procedure

1 Geliştirme ortamı kurma (p 444)

2 X86 Qtopia platform ve Merhaba Dünya ve gömülü tarayıcı derlemek ( p 445) 2.1 Derleme Qt / Embedded (p 446) 2.2 PC Qtopia yayınlamakla Simule (p 446) 2.3 Derleyici Merhaba Dünya örnek (p 446) 2.4 Hello, ayrı bir dünya Çalıştırma (p 448) 2.5 Qtopia Hello, dünya çalışıyor (p 448)

3 Qtopia Platformu ARM derleyici ve Merhaba Dünya ve gömülü tarayıcı (p 449) 3.1 Derleme Qt / Embedded (p 449) 3.2 Derleyici Merhaba Dünya örnek (p 450) 3.3 Hello, dünya indirip çalıştırmak hedef tahtası (p 450) 3.4 Qtopia üretim güncellemek için kendi dosya sistemini kullanmak için derledik (p 454)

4 Sıkça Sorulan Sorular (p 454) 4.1 Hataları inşa ve uygulanması (p 455) 4.2 Merhaba derleyici hatası (p 456) 4.3 Merhaba zaman ikinci hata mesajı derleme (p 456)

Appendix1 - Qt embedded graphics development portal

Full Installation Note: To use the correct installation of Qt / Embedded, please be sure to introduce in accordance with the previous Redhat9.0/Redhat7.2, and not to release the use of other Linux, such as Fedora and so on. Choice recommend cross compiler: arm-linux-gcc-3.3.2

1. Set up development environment

CD-ROM contains three Qt / Embedded the source code package, are as follows: x86-qtopia.tgz: for Qtopia running on X86 Development Kit arm-qtopia.tgz: for Qtopia running on ARM development kit, support USB mouse ipaq-qtopia.tgz: for Qtopia running on ARM development kit to support the touch screen version of the three different Only to build their own directory in the script to compile other source code is the same. Extract the source code: CD-ROM in the x86-qtopia.tgz, arm-qtopia.tgz, ipaq-qtopia.tgz copied to a directory, Access to the directory The following command:

#tar xvzf x86-qtopia.tgz –C /opt/FriendlyARM/mmini2440#tar xvzf arm-qtopia.tgz –C /opt/FriendlyARM/mini2440#tar xvzf ipaq-qtopia.tgz –C /opt/FriendlyARM/mini2440

The order will be three versions of Qt / Embedded-extracting package to the /opt/FriendlyARM/mini2440 directory. To PC Modified / etc / ld.so.conf file in order to adapt to their own will want to install Qt development platform (Redhat installation with Qt libraries, But not for me Have installed the latest version), ld.so.conf file revised as follows: / opt/FriendlyARM/mini2440/x86-qtopia/qt/lib Simulation running on Qtopia, the corresponding need for Qt Version of the library file, so the need for

/opt/FriendlyARM/mini2440/x86-qtopia/qt/lib/opt/FriendlyARM/mini2440/x86-qtopia/qtopia/lib/usr/kerberos/lib/usr/X11R6/lib/usr/lib/sane/usr/lib/mysql

2. X86 compile Qtopia platform and Hello, World and embedded browser

Because the configuration to compile Qt / Embedded is rather complicated process, in order to facilitate, we have the steps to configure and compiler system Make a build script, the implementation of the script to "get one-click".

2.1 Compiling Qt / Embedded

#cd /opt/FriendlyARM/mini2440/x86-qtopia #./build-all (The process is relatively long, need to run about 30 minutes) #./konq_to_qtopia (To compile a Qtopia browser Add Execution System) #ldconfig (Run ldconfig in order to generate effective qt and qtopia library, run once) Description: ./build-all (Will automatically compile a complete Qtopia and embedded browser, you may also have to implement ./build and ./build-konq script order they were compiled.

2.2 Simulated in the PC running Qtopia

#. set-env ; Note that there is a space, we must have in order to implement effective#qvfb&#qpe

The use of the PC running QVFB simulation Qtopoia

2.3 Compiler Hello World sample

#cd /opt/FriendlyARM/mini2440/x86-qtopia/hello#make

Will make the implementation of /opt/FriendlyARM/mini2440/x86-qtopia/qtopia/bin directory can be generated hello Executive

2.4 Running a separate Hello World

#qvfb -width 640 -height 480 &#hello -qws

As shown

Qvfb run in a separate Hello, World

2.5 Qtopia running in the Hello, World

#cd hello#cp hello.desktop /opt/FriendlyARM/mini2440/x86-qtopia/qtopia/apps/Applications#qvfb -width 640 -height 480 &#qpe

As shown

Qtopia in the Hello World

3. Qtopia Platform ARM compiler and Hello, World and embedded browser

Reminder: the use of CD-ROM attached to the arm-linux-gcc-3.3.2.tgz cross-compiler to compile ARM platform Qtopia, whether Please There may be not! Because the configuration to compile Qt / Embedded is rather complicated process, in order to facilitate, we have the steps to configure and compiler system Make a build script, the implementation of the script to "get one-click".

3.1 Compiling Qt / Embedded

#cd /opt/FriendlyARM/mini2440/arm-qtopia#./build-all (The process is relatively long, need to run about 30 minutes) #./mktarget_qtopia (The production of updated file system used compressed package qtopia, Will generate target_qtopia.tgz) #./mktarget_konq (The production of updated file system browser with compression package, will generate target_konq.tgz) Description : ./build-all Will automatically compile a complete Qtopia and embedded browser, and compiler generation systems supporting Holders Jpeg, GIF, PNG picture formats, etc., you may also have to implement ./build and ./build-konq script command sub - Do not compile them.

3.2 Compiler Hello World sample

#cd /opt/FriendlyARM/mini2440/arm-qtopia#. set-env ; Note that there is a space, we must have in order to implement effective! #cd hello#makeWill make the implementation of /opt/FriendlyARM/mini2440/arm-qtopia/qtopia/bin directory hello can be generated the implementation of document

3.3 The hello world download and run the target board

copy files to the Windows directory ①First hello just compiler-generated executable file copied to the Windows directory under the one inside, when hello/ with hello.desktop directory is also copied to a directory under Windows. Download documents to the development board in the development board serial input terminal "rz" command to start receiving from the string.

rz download files using the development board to the board in the development of the serial input② terminal "rz" command to start receiving from the string I sent the document, as shown

The right mouse button and then point in the pop-up menu, select "Send file" opt hello, started to send text to the development board, Pieces. Figure.

Use the same method to download to the development board inside hello.desktop

Hello documents change permissions through the serial port of the implementation of the③ development board is now the document is not the implementation of authority Therefore, we need to have to use chmod command to change the implementation of its authority, and then put it inside the correct directory. As shown

#chmod +x hello#mv hello /opt/qtopia/bin#mv hello.desktop /opt/qtopia/apps/Applications

hello in the development of on-board operation development board to restart now or restart④ qtopia, icon hello can see, the figure, you can make run it with the mouse click.

separate board to run in the target hello ⑤

export set HOME=/rootexport set QTDIR=/opt/qtexport set QPEDIR=/opt/qtopiaexport set QWS_KEYBOARD="USB:/dev/input/event1"export set QWS_MOUSE_PROTO="USB:/dev/input/mouse0"export set PATH=$QPEDIR/bin:$PATHexport set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib$QPEDIR/bin/hello –qws

3.4 Qtopia compiled to use their own file system to update the production

Through 3.1, we have produced a better target_qtopia.tgz and target_konq.tgz these two documents, I Updates will use them to replace the original system qtopia.

To qtopia with mouse support system as an example:

# cd / opt/FriendlyARM/mini2440/root_qtopia_mouse # tar xvzf .. / arm-qtopia / target_qtopia.tgz (Update Qtopia system)# tar xvzf .. / arm-qtopia / target_konq.tgz (Updated embedded browser) # mkyaffsimage root_qtopia_mouse my_qtopia.img

Then use the USB into the board to burn my_qtopia.img it.

4. Frequently Asked Questions

Beginners to install Qt / Embedded will often encounter the following issues, please carefully read the corresponding solution.

4.1 The implementation of build errors

./build After a long time, and finally as follows

Makefiles will be regenerated..................................................................................QPE is now configured for building. Just run "make".To reconfigure, run make clean and configure.make -C libraries/qtopiamake[1]: Entering directory`/opt/FriendlyARM/QQ2440/x86-qtopia/qtopia/src/libraries/qtopia'make[1]: Nothing to be done for `default'.make[1]: Leaving directory`/opt/FriendlyARM/QQ2440/x86-qtopia/qtopia/src/libraries/qtopia'make -C 3rdparty/libraries/freetypemake[1]: Entering directory`/opt/FriendlyARM/QQ2440/x86-qtopia/qtopia/src/3rdparty/libraries/freetype'make[1]: Nothing to be done for `default'.make[1]: Leaving directory`/opt/FriendlyARM/QQ2440/x86-qtopia/qtopia/src/3rdparty/libraries/freetype'

make -C libraries/qtopia1make[1]: Entering directory`/opt/FriendlyARM/QQ2440/x86-qtopia/qtopia/src/libraries/qtopia1'g++ -c -I/opt/FriendlyARM/QQ2440/x86-qtopia/qtopia/include-I/opt/FriendlyARM/QQ2440/x86-qtopia/qt/include -pipe -DQWS -fno-exceptions-fno-rtti -O2 -Wall -W -DNO_DEBUG -fPIC -DQTOPIA_APP_INTERFACE-I.moc/linux-generic-g++/ -I/opt/FriendlyARM/QQ2440/x86-qtopia/qtopia/src/server -o.obj/linux-generic-g++//global1.o global1.cppglobal1.cpp:39:23: uuid/uuid.h: There is no file or directory global1.cpp: In static member function `static QUuidGlobal::generateUuid()':global1.cpp:188: `::uuid_generate' undeclared (first use here)make[1]: *** [.obj/linux-generic-g++//global1.o] Error 1make[1]: Leaving directory`/opt/FriendlyARM/QQ2440/x86-qtopia/qtopia/src/libraries/qtopia1'make: *** [libraries/qtopia1] Error 2

This is because you have not installed correctly due to Redhat 9.0, refer to the section in front of the correct installation of your system, Redhat 9.0 please

4.2 Hello compiler error when

Information is as follows:

/usr/lib/qt-3.1/bin/uic hello_base.ui -o ./hello_base.hg++ -c -I/include -I/usr/lib/qt-3.1/include -pipe -DQWS -fno-exceptions-fno-rtti -O2 -Wall -W -DNO_DEBUG -DQTOPIA_APP_INTERFACE-I.moc/linux-generic-g++/ -o .obj/linux-generic-g++//hello.o hello.cppg++ -c -I/include -I/usr/lib/qt-3.1/include -pipe -DQWS -fno-exceptions-fno-rtti -O2 -Wall -W -DNO_DEBUG -DQTOPIA_APP_INTERFACE-I.moc/linux-generic-g++/ -o .obj/linux-generic-g++//main.o main.cppmain.cpp:2:35: qtopia/qpeapplication.h: No such file or directorymain.cpp: In function `int main(int, char**)':main.cpp:6: `QPEApplication' undeclared (first use this function)main.cpp:6: (Each undeclared identifier is reported only once for eachfunctionit appears in.)main.cpp:6: parse error before `(' tokenmain.cpp:9: `a' undeclared (first use this function)main.cpp:5: warning: unused parameter `int argc'main.cpp:5: warning: unused parameter `char**argv'make: *** [.obj/linux-generic-g++//main.o] Error 1

From the error message can be seen when compiling hello here is the header file directory -I/include, the head recorded is not correct, leading to the reasons for this are: You do not have to run ldconfig after build command.

4.3 Hello when compiling the second error message

[root@localhost hello]# make/usr/lib/qt-3.1/bin/uic hello_base.ui -o ./hello_base.h/usr/lib/qt-3.1/bin/uic: error while loading shared libraries:libqt-mt.so.3: cannot open shared object file: No such file or directorymake: *** [hello_base.h] Error 127

Can be seen from the error message, the x86-qtopia does not build a good environment, but the use of redhat9.0 own environment you in accordance with Solution is as follows:

The first approach: Be sure the implementation of a window in the same steps above. Build script to run, it is already included in the environment creation, you can not leave the host running the build environment to compile hello window

The second approach:

Re-create the environment to create their own. Use /opt/FriendlyARM/ x86-qtopia/set-env script. Be sure to use run-time. " set-env " Pay attention to the middle of space, the same, you can not leave the set-env running where, the first page window environment to compile hello