Installing Qt on Embedded Linux
1.install arm-gcc
A.download http://www.arm123.com.cn/linux/arm-linux-gcc-4.3.2.tgz
B.tar xzf ... to /work/arm-gcc/arm-linux-gcc-4.3.2
C.change env
export PATH=/work/arm-gcc/arm-linux-gcc-4.3.2/bin:$PATH
ldsh@ldsh-vm:/work/toolchains$ ls
armenv.sh arm-linux-gcc-eabi-4.1.2 arm-linux-gcc-eabi-4.3.2
souce /work/toolchains/armenv.sh 4.1.2
or:
souce /work/toolchains/armenv.sh 4.3.2
1: #!/bin/bash
2:
3: if [ "$1" = "4.1.2" ]; then
4: echo set ARM linux toolchains 4.1.2
5: export CPLUS_INCLUDE_PATH=/work/toolchains/arm-linux-gcc-eabi-4.1.2/arm-angstrom-linux-gnueabi/include:/work/toolchains/arm-linux-gcc-eabi-4.1.2/arm-angstrom-linux-gnueabi/include/c++:/work/toolchains/arm-linux-gcc-eabi-4.1.2/arm-angstrom-linux-gnueabi/include/c++/arm-angstrom-linux-gnueabi
6: export PATH=/work/toolchains/arm-linux-gcc-eabi-4.1.2/bin:$PATH
7: export LD_LIBRARY_PATH=/work/toolchains/arm-linux-gcc-eabi-4.1.2/lib:$LD_LIBRARY_PATH
8: fi
9:
10: if [ "$1" = "4.3.2" ]; then
11: echo set ARM linux toolchains 4.3.2
12: export CPLUS_INCLUDE_PATH=/work/toolchains/arm-linux-gcc-eabi-4.3.2/arm-none-linux-gnueabi/include:/work/toolchains/arm-linux-gcc-eabi-4.3.2/arm-none-linux-gnueabi/include/c++:/work/toolchains/arm-linux-gcc-eabi-4.3.2/arm-none-linux-gnueabi/include/c++/4.3.2
13: export PATH=/work/toolchains/arm-linux-gcc-eabi-4.3.2/bin:$PATH
14: export LD_LIBRARY_PATH=/work/toolchains/arm-linux-gcc-eabi-4.3.2/lib:$LD_LIBRARY_PATH
15: fi
16:
D.test
arm-linux-gcc -v
2.unzip qt everywhere
tar xzf work/qt-everywhere-opensource-src-4.6.2.tar.gz
mv qt-everywhere-opensource-src-4.6.2 qt-everywhere-opensource-src-4.6.2-x86
tar xzf work/qt-everywhere-opensource-src-4.6.2.tar.gz
mv qt-everywhere-opensource-src-4.6.2 qt-everywhere-opensource-src-4.6.2-pc
tar xzf work/qt-everywhere-opensource-src-4.6.2.tar.gz
mv qt-everywhere-opensource-src-4.6.2 qt-everywhere-opensource-src-4.6.2-arm
3.install qt-everywhere-opensource-src-4.6.2-x86
cd qt-everywhere-opensource-src-4.6.2-x86
./configure -prefix /work/QtEmbedded-4.6.2-x86 -embedded x86 -qvfb
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /work/QtEmbedded-4.6.2-x86
To reconfigure, run 'make confclean' and 'configure'.
make(2.5 hours)
make install
4.install zlib
tar xzf zlib-1.2.4.tar.gz
cd zlib-1.2.4
./configure
make
sudo make install
5.install qt-everywhere-opensource-src-4.6.2-pc
sudo apt-get install libx11-dev
sudo apt-get install libxext-dev (without this installed I got error "Basic XLib functionality test failed!" when config)
sudo apt-get install xorg-dev(without this installed I got error "X11/extensions/XInput.h:no such file" when make)
ldsh:after install those xlibs, there are some problems in windows of ubuntu 9.10
cd qt-everywhere-opensource-src-4.6.2-pc
./configure -prefix /work/QtEmbedded-4.6.2-pc
make(about 4.5 hours)
make install
6.build qvfb
cd /work/qt-everywhere-opensource-src-4.6.2-pc/tools/qvfb
make
cp ../../bin/qvfb /work/QtEmbedded-4.6.2-pc/bin
7.create env script
vim /work/qtenv.sh:
1: #!/bin/bash
2: if [ "$1" = "arm" ]; then
3: echo set Qt env for QtEmbedded-4.6.2-pc
4: export QTEDIR=/work/QtEmbedded-4.6.2-pc
5: export PATH=/work/QtEmbedded-4.6.2-pc/bin:$PATH
6: export LD_LIBRARY_PATH=/work/QtEmbedded-4.6.2-pc/lib:$LD_LIBRARY_PATH
7: fi
8:
9: if [ "$1" = "arm" ]; then
10: echo set Qt env for QtEmbedded-4.6.2-arm
11: export QTEDIR=/work/QtEmbedded-4.6.2-arm
12: export PATH=/work/QtEmbedded-4.6.2-arm/bin:$PATH
13: export LD_LIBRARY_PATH=/work/QtEmbedded-4.6.2-arm/lib:$LD_LIBRARY_PATH
14: fi
15:
16: if [ "$1" = "x86" ]; then
17: echo set Qt env for QtEmbedded-4.6.2-x86
18: export QTEDIR=/work/QtEmbedded-4.6.2-x86
19: export PATH=/work/QtEmbedded-4.6.2-x86/bin:$PATH
20: export LD_LIBRARY_PATH=/work/QtEmbedded-4.6.2-x86/lib:$LD_LIBRARY_PATH
21: fi
8.test qvfb
A.terminal
source qtenv.sh pc
qvfb -width 640 -height 480
B.terminal
source qtenv.sh x86
cd /work/QtEmbedded-4.6.2-x86/bin
./qtdemo -qws
8.install tslib
source toolchains/armenv.sh 4.1.2
sudo apt-get install autoconf automake libtool
tar xjf /home/ldsh/work/tslib-1.0.tar.bz2
cd tslib-1.0
./autogen.sh
./configure --prefix=/work/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
make
make install
9.install qt-everywhere-opensource-src-4.6.2-arm
cd /work/qt-everywhere-opensource-src-4.6.2-arm/mkspecs/qws/linux-arm-g++
vim qmake.conf(without this I got errors:libQtGui.so: undefined reference to `ts_read_raw' , `ts_open' , `ts_fd')
add:
QMAKE_CC = arm-linux-gcc
QMAKE_CXX = arm-linux-g++
QMAKE_LINK = arm-linux-g++ -lts
QMAKE_LINK_SHLIB = arm-linux-g++ -lts
-> CC and CXX should not add -lts, or else -> warning: "arm-linux-g++: -lts: linker input file unused because linking not done"
cd qt-everywhere-opensource-src-4.6.2-arm
./configure -prefix /work/QtEmbedded-4.6.2-arm -embedded arm -qt-mouse-tslib -I/work/tslib/include -L/work/tslib/lib
make(used two hours)
make install
10.install qt-creator-linux-x86-opensource-1.3.1.bin
A.install into /work/qtcreator-1.3.1
B.config qtcreate:
Qt-creator: Menu->Tools->Options…Open Options Dialog
Choose Qt4->Qt Versions: set qtmake and rebuild qt helper
C.Add /work/qtcreator-1.3.1/bin into env PATH or use source qtenv.sh