arm_linux交叉编译开发环境建立之 - QT arm_linux 编译环境

1 下载

需要从qt开源软件编译。
下载:
wget http://download.qt.io/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz

2 build qt

(1) 首先,创建一个sh文件 – autoconfig.sh,内容:

#!/bin/sh
./configure \
    -opensource \
    -confirm-license \
-release -shared \
-prefix /usr/local/worksch/qt486-arm \
    -embedded arm \
    -xplatform qws/linux-arm-g++ \
    -depths 16,18,24,32 \
    -fast \
    -optimized-qmake \
    -pch \
    -qt-sql-sqlite \
    -qt-libjpeg \
    -qt-zlib \
    -qt-libpng \
    -qt-freetype \
    -little-endian -host-little-endian \
    -no-qt3support \
    -no-libtiff -no-libmng \
    -no-opengl \
    -no-mmx -no-sse -no-sse2 \
    -no-3dnow \
    -no-openssl \
    -no-webkit \
    -no-qvfb \
    -no-phonon \
    -no-nis \
    -no-opengl \
    -no-cups \
    -no-glib \
    -no-xcursor -no-xfixes -no-xrandr -no-xrender \
    -no-separate-debug-info \
    -nomake examples -nomake tools -nomake docs \
    -qt-mouse-tslib \
    -I/usr/local/tslib/include \
-L/usr/local/tslib/lib

(2)执行./autoconfig
注意,需要将QT的几个环境变量去掉(如果设置过)。

常见问题:

The tslib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR and QMAKE_LIBDIR in /work/nfs_root/qt-everywhere-opensource-src-4.7.0/mkspecs/qws/Linux-arm-g++.

原因:
找不到arm-linux交叉编译器:
解决方法:
将 arm-linux-gcc的路径加入PATH环境变量:export PATH=$PATH:/usr/local/arm/4.8.2/bin

(2) make
在文件 ~/workbench/gcc-4.8.2/xtools/src/qt-everywhere-opensource-src-4.8.6/mkspecs/qws/linux-arm-g++/qmake.conf最后加入变量设置:
QMAKE_INCDIR=/usr/local/tslib/include/
QMAKE_LIBDIR=/usr/local/tslib/lib/
QMAKE_CC = arm-linux-gcc –lts
QMAKE_CXX = arm-linux-g++ -lts
QMAKE_LINK = arm-linux-g++ -lts
QMAKE_LINK_SHLIB = arm-linux-g++ -lts

执行make

常见问题:
usr/local/arm/4.8.2/bin/…/lib/gcc/arm-angstrom-linux-gnueabi/4.8.2/…/…/…/…/arm-angstrom-linux-g nueabi/bin/ld: warning: libts-0.0.so.0, needed by qt-everywhere-opensource-src-4.6.0/lib/libQtGui.so, not found (try using -rpath or -rpath-link) qt-everywhere-opensource-src-4.6.0/lib/libQtGui.so: undefined reference to ts_read_raw' libQtGui.so: undefined reference tots_open’ undefined reference to `ts_fd’

原因:
找不到tslib的库文件

解决方法:
在文件 ~/workbench/gcc-4.8.2/xtools/src/qt-everywhere-opensource-src-4.8.6/mkspecs/qws/linux-arm-g++/qmake.conf最后加入变量设置:
QMAKE_INCDIR=/usr/local/tslib/include/
QMAKE_LIBDIR=/usr/local/tslib/lib/
QMAKE_CC = arm-linux-gcc –lts
QMAKE_CXX = arm-linux-g++ -lts
QMAKE_LINK = arm-linux-g++ -lts
QMAKE_LINK_SHLIB = arm-linux-g++ -lts
然后继续make

(4)sudo make install

3 build protobuf 2.6.1 for linux

./configure --prefix=/usr/local/protobuf
make
make install

4 build protobuf 2.6.1 for arm

export PATH=/usr/local/protobuf/bin:$PATH
./configure --prefix=/usr/local/arm/protobuf --host=arm-linux --target=arm-linux --with-protoc=protoc
make
sudo make install

5 设置环境变量

cd ~
vim .profile
export PATH=$PATH:/usr/local/worksch/qt486-arm/bin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值