Qt/Qt-embedded-linux 4.5.1 交叉环境的建立
2010-01-27 01:28
260 查看
0. 主机环境
Linux Red Hat Enterprise Linux AS4.0
gcc:gcc-3.4.6(编译qt4.5.1有些过低需要修改qt的源代码文件)
g++:g++-3.4.6
1.需要的软件
qt-embedded-linux-opensource-4.5.1.tar.gz
2. 安装x86体系的嵌入式板Qt环境(目的是利用这个环境和(qt-x11的应用程序qvfb)进行调试arm体系下的qt程序)
解压qt-embedded-linux-opensource-4.5.1.tar.gz (tar xvzf )
对解压后的文件重命名为qt-embedded-linux-opensource-4.5.1-x86
复制qt-embedded-linux-opensource-4.5.1-x86 改名为 qt-embedded-linux-opensource-4.5.1-arm
2.1 正式开始安装x86的qt-embedded
因为gcc版本有些低再后面make时会出现src/text/qfontengine_ft.cpp 710:错误 所以首先 将 这个文件的710那个函数注释掉。
./configure -embedded x86 -qvfb (configure选项很多 --help查看)
make
make install
2.2 设置x86的环境变量(默认安装在/usr/local)
建立一个qt_x86_env.sh脚本文件
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.5.1
export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.5.1
export QWS_KEYBOARD
export QWS_MOUSE_PROTO
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib
使脚本生效:source qt_x86_env.sh
3. 安装ARM体系的嵌入式Qt环境(务必建立好交叉工具链croostools建立或手动建立我的arm-linux-gcc是3.3.6比较低遇到问题是#define sysexit(c) exit(c))
参考这个文章吧~
http://lists.trolltech.com/pipermail/qt-embedded-interest/2009-March/000224.html
把src/corelib/global/qlibraryinfo.cpp中
#define sysexit(c) __builtin_exit(c)
改为
#define sysexit(c) exit(c)
参考 http://www.qtcn.org/bbs/read.php?tid=18115&page=e&fpage=17
3.1和安装x86不同之处
所用的编译器是arm-linux-g++(gcc)
./configure 要裁剪很多东西为了轻巧
参考: /article/7150831.html
3.2 安装
./configure -embedded arm -qvfb(根据需要有其他选项)
make
make install
3.3 设置环境变量(见x86)
4. 编译前面qt-x11下的tools生成qvfb(虚拟帧缓存)
进入src tools qvfb下make 在bin下生成qvfb
拷贝到x86 bin下(基本可以和qt-x11说拜拜了)
5. 分别设置环境变量(写程序时方便切换)(qt_x86_env.sh qt_arm_env.sh)
6. 测试程序
随便找个hello程序
首先 设置好变量qt_arm_env.sh
qmake -project
qmake
make
查看文件类型 file 执行文件看看是不是在arm体系结构上运行的程序。
可以在x86体系上调试。
Linux Red Hat Enterprise Linux AS4.0
gcc:gcc-3.4.6(编译qt4.5.1有些过低需要修改qt的源代码文件)
g++:g++-3.4.6
1.需要的软件
qt-embedded-linux-opensource-4.5.1.tar.gz
2. 安装x86体系的嵌入式板Qt环境(目的是利用这个环境和(qt-x11的应用程序qvfb)进行调试arm体系下的qt程序)
解压qt-embedded-linux-opensource-4.5.1.tar.gz (tar xvzf )
对解压后的文件重命名为qt-embedded-linux-opensource-4.5.1-x86
复制qt-embedded-linux-opensource-4.5.1-x86 改名为 qt-embedded-linux-opensource-4.5.1-arm
2.1 正式开始安装x86的qt-embedded
因为gcc版本有些低再后面make时会出现src/text/qfontengine_ft.cpp 710:错误 所以首先 将 这个文件的710那个函数注释掉。
./configure -embedded x86 -qvfb (configure选项很多 --help查看)
make
make install
2.2 设置x86的环境变量(默认安装在/usr/local)
建立一个qt_x86_env.sh脚本文件
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.5.1
export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.5.1
export QWS_KEYBOARD
export QWS_MOUSE_PROTO
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib
使脚本生效:source qt_x86_env.sh
3. 安装ARM体系的嵌入式Qt环境(务必建立好交叉工具链croostools建立或手动建立我的arm-linux-gcc是3.3.6比较低遇到问题是#define sysexit(c) exit(c))
参考这个文章吧~
http://lists.trolltech.com/pipermail/qt-embedded-interest/2009-March/000224.html
把src/corelib/global/qlibraryinfo.cpp中
#define sysexit(c) __builtin_exit(c)
改为
#define sysexit(c) exit(c)
参考 http://www.qtcn.org/bbs/read.php?tid=18115&page=e&fpage=17
3.1和安装x86不同之处
所用的编译器是arm-linux-g++(gcc)
./configure 要裁剪很多东西为了轻巧
参考: /article/7150831.html
3.2 安装
./configure -embedded arm -qvfb(根据需要有其他选项)
make
make install
3.3 设置环境变量(见x86)
4. 编译前面qt-x11下的tools生成qvfb(虚拟帧缓存)
进入src tools qvfb下make 在bin下生成qvfb
拷贝到x86 bin下(基本可以和qt-x11说拜拜了)
5. 分别设置环境变量(写程序时方便切换)(qt_x86_env.sh qt_arm_env.sh)
6. 测试程序
随便找个hello程序
首先 设置好变量qt_arm_env.sh
qmake -project
qmake
make
查看文件类型 file 执行文件看看是不是在arm体系结构上运行的程序。
可以在x86体系上调试。
相关文章推荐
- fedora10 下建立Qt for Embedded linux 4.5开发环境
- fedora10 下建立Qt for Embedded linux 4.5开发环境
- 005.Vmware-Linux 交叉编译环境的建立
- 嵌入式Linux实战篇--交叉编译环境的建立(基于ubuntu 8.10)
- 用crosstool-ng建立Linux 交叉编译环境
- Ubuntu9.10建立交叉编译环境arm-linux-gcc-4.3.2
- Qt-embedded-linux-opensource-src-4.5.1移植到mini2440
- 建立arm-linux-gcc交叉编译环境
- 建立交叉编译环境和在开发板上实现第一个嵌入式Linux应用程序
- 嵌入式Linux交叉开发环境建立-NFS
- linux下QT Qtopia 主机编译调试环境的建立过程
- 如何建立Linux下的ARM交叉编译环境
- 建立ARM交叉编译环境 (arm-none-linux-gnueabi-gcc with EABI)
- Ubuntu 9.10上建立ARM-Linux交叉编译环境
- 搭建交叉编译环境arm-linux-gcc-4.5.1
- qt-embedded-linux-opensource-src-4.5.1移植到QQ2440开发板
- 建立 arm-linux 交叉编译环境
- 搭建Qt/Embedded linux开发环境
- 建立arm-linux-gcc交叉编译环境
- ubuntu12.04建立交叉编译环境,bin/.arm-none-linux-gnueabi-gcc: not found