Installing Qt 4.6.2 on Embedded Linux

来源:互联网 发布:小众微信淘客软件 编辑:程序博客网 时间:2024/05/16 09:39

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

原创粉丝点击