当前位置:编程学习 > wap >>

QtCreator2.7.1在ubuntu下如何进行交叉编译

想配置交叉编译环境,arm-linux-g++安装成功,在QtCreator中的配置如下图所示,想配置forarm却不成功,刚刚接触QT,请高手指点! --------------------编程问答-------------------- 首先交叉编译 qt
然后在 QtCreator的 Qt Versions 中添加这个交叉编译的 qt
有了 compiler 和 qt 库 就可以交叉编译了

kits = compiler +  Qt Version; compiler 和  Qt Version 要对应,是同一平台的。 --------------------编程问答-------------------- 请问怎么交叉编译QT啊?我的交叉编译链应该是安装成功了吧,运行arm-linux-g++ -v的结果如下图: --------------------编程问答-------------------- 我给您一个地址您去看看,如何编译Qt。
1) 首先根据您的board 或者环境 选择一个正确的makespec
2) 组建自己的./configure
3) make Qt
4) 成功

下面是一个raspberry pi的一个编译链接。
http://qt-project.org/wiki/RaspberryPi_Beginners_guide
--------------------编程问答-------------------- 楼上正解
通俗的说,你的qt版本不对,你需要一个arm版本的qt库,交叉编译一个arm版本的qt库就可以了
随便网上找个包含configure的build脚本,自己改一下,机器好的话10来分钟就搞定了。
--------------------编程问答-------------------- raspberry pi 的编译,是Qt 官方默认提供的,有完整的makespce 描述,如果您的board 没有对应的makespec ,也可以通过它来改写一下。
另外我建议您关注一下Qt的新产品, boot2Qt 可以编译很多个问题。
方便搭建嵌入式linux的Qt 开发环境。 --------------------编程问答--------------------
引用 1 楼 zhxianbin 的回复:
首先交叉编译 qt
然后在 QtCreator的 Qt Versions 中添加这个交叉编译的 qt
有了 compiler 和 qt 库 就可以交叉编译了

kits = compiler +  Qt Version; compiler 和  Qt Version 要对应,是同一平台的。

按照你说的配置了,但是debug的时候,提示错误:
Starting /opt/qtcreator-2.7.1/build-untitled-kitsforarm-Debug/untitled...
Failed to start program. Path or permissions wrong?
/opt/qtcreator-2.7.1/build-untitled-kitsforarm-Debug/untitled exited with code -1 --------------------编程问答--------------------  Path or permissions wrong?    --------------------编程问答--------------------
引用 7 楼 zhxianbin 的回复:
 Path or permissions wrong?   

路径没有错啊,用的是root用户登录的,权限会存在什么问题吗 --------------------编程问答-------------------- 你 arm 版本的桌面当然没法运行 --------------------编程问答-------------------- QtCreator2.7.1是集成开发环境,基本上是跑在虚拟机里的。
你已经有了编译器,参考一下步骤:

启动一个新的终端
export BUILD_DIR=/home/trapt/nfsroot/qt/qtarm
export PREFIX=$BUILD_DIR/_install4arm

cd $BUILD_DIR
wget http://pkgs.fedoraproject.org/repo/pkgs/qt/qt-everywhere-opensource-src-4.8.1.tar.gz/7960ba8e18ca31f0c6e4895a312f92ff/qt-everywhere-opensource-src-4.8.1.tar.gz
tar zxvf qt-everywhere-opensource-src-4.8.1.tar.gz
cd qt-everywhere-opensource-src-4.8.1


./configure -embedded arm -little-endian -prefix $PREFIX -release -opensource -xplatform qws/linux-arm-gnueabi-g++ \
-no-webkit -qt-zlib -qt-libtiff -qt-libmng -qt-libjpeg -qt-libpng \
-confirm-license -no-qt3support -make libs -nomake examples -nomake demos -no-multimedia -no-phonon -no-phonon-backend \
-no-accessibility -no-script -no-scripttools -no-neon -make tools \

make

make install --------------------编程问答--------------------
引用 9 楼 zhxianbin 的回复:
你 arm 版本的桌面当然没法运行

可是我在进行kits配置的时候,设备选择的是桌面啊,不行吗 --------------------编程问答--------------------
引用 11 楼 qq_heilongjiang 的回复:
Quote: 引用 9 楼 zhxianbin 的回复:

你 arm 版本的桌面当然没法运行

可是我在进行kits配置的时候,设备选择的是桌面啊,不行吗
关键看你kits 的 编译器和库选择的是 arm 版还是桌面版 --------------------编程问答--------------------
引用 12 楼 zhxianbin 的回复:
关键看你kits 的 编译器和库选择的是 arm 版还是桌面版

我的编译器和库的确选择的是arm版的
用file filename命令查看的结果是:
ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped
正如你所说的是在arm上运行的版本,请问,我怎么让这个可执行的文件在开发板上运行起来呢,直接拷到开发板上运行没反应。
--------------------编程问答-------------------- 首先要设置环境变量  , 然后 cd <dir>    ./<exe> -qws,环境变量参照下面修改

#tslib  
export TSLIB_TSDEVICE=/dev/event2  
export TSLIB_CALIBFILE=/etc/pointercal  
export TSLIB_CONFFILE=/etc/ts.conf  
export TSLIB_PLUGINDIR=/opt/nrm335x/tslib/lib/ts  
export TSLIB_CONSOLEDEVICE=/dev/tty1  
export TSLIB_FBDEVICE=/dev/fb0  

#qt4  
export QTDIR=/opt/nrm335x/qt-4.8.4  
export QT_PLUGIN_PATH=/opt/nrm335x/qt-4.8.4/plugins/  
export QWS_MOUSE_PROTO=tslib:/dev/event2
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,