• 18511阅读
  • 25回复

关于QT ARM开发平台如何搭建的问题? [复制链接]

上一主题 下一主题
离线chinajszcw
 
只看楼主 倒序阅读 楼主  发表于: 2008-09-23
— 本帖被 XChinux 执行加亮操作(2008-09-23) —
近日在搭个QT的编译平台,被网上形形色色的文章给搞的很糊涂了。
(希望兄弟们帮我理理思路啊~~~)

其实目的很简单,我就是想在Windows下写程序,然后移植到linux系统的s3c2410的开发板上。
在windows中安装的是VC2005加QT4.4.1,这个没问题早就安装好了。
问题是linux中我应该安装些什么?(系统用的是ubuntu8.04)。


今天在ubuntu8.04中安装了qt-x11-opensource-src-4.4.1.tar.gz,花了一上午的时间总算编译完成了。
接下去我应该装什么?
是qt-Embedded?还是Qtopia Core?

再问一个比较菜的问题:Qtopia Core为什么没有4.4.1的啊?

嘿嘿,问的都比较菜,希望各位大哥不吝赐教,谢谢!
离线suraid
只看该作者 1楼 发表于: 2008-09-23
不需要编X11的
你现在只需要有能在开发板上运行的库,也就是说编译一个QT嵌入式版的
然后用交叉编译器把你的源代码再编译一遍放到板子上即可
SuRaid团队主要承接嵌入式、Web、美工、算法设计等业务

团队网址: http://www.suraid.cn
团队博客: http://blog.suraid.cn
团队邮箱: bbs@esuraid.com
离线chinajszcw
只看该作者 2楼 发表于: 2008-09-23
QT嵌入式版的?是指 qt-embedded 还是 qtopia core呢?

再有,能在开发板上运行的库,需要怎么编译,就是说,编译的时候要加什么参数?

谢谢!
离线twicave

只看该作者 3楼 发表于: 2008-09-24
关注。
觉得应该是qt-embedded.
也期待有人贴一下编译选项。qte如果不加剪裁编译出来的东西比qt-x11还大。

另外arm交叉编译环境的建立谁也来说说吧。
离线ffe423
只看该作者 4楼 发表于: 2009-05-09
qt-embedded是qt-core的高版本
离线bhwbj
只看该作者 5楼 发表于: 2009-05-18
Qt-Embedded 4 install
 
1、安装Qt-Embedded-linux

安装Qt-Embedded-linux有两种方法,一种是从源码安装,一种是直接安装。如果不需要在PC机上进行Qt-Embedded程序调试,可以不需要安装Qt-x11和Qt-Embedded for x86

(1) 源码安装
首先从 ftp://ftp.trolltech.com/qt/source/ 下载以下源码包:
qt-x11-opensource-src-4.5.0.tar
qt-embedded-linux-opensource-src-4.5.0.tar

安装Qt-x11
# tar jxvf qt-x11-opensource-src-4.5.0.tar
# cd qt-x11-opensource-src-4.5.0
# echo "yes" | ./configure –qvfb  –no-openssl –no-webkit
# make && make install

安装Qt-Embedded for x86
# tar jxvf qt-embedded-linux-opensource-src-4.5.0.tar
# cd qt-embedded-linux-opensource-src-4.5.0
# echo "yes" | ./configure \
-release \
-shared \
-no-qt3support \
-no-xmlpatterns \
-no-svg \
-no-webkit \
-system-zlib \
-qt-gif \
-system-libtiff \
-system-libpng \
-qt-libmng \
-system-libjpeg \
-make libs \
-make tools \
-nomake examples \
-nomake docs \
-nomake demo \
-no-nis \
-no-cups \
-no-iconv \
-no-dbus \
-no-openssl \
-xplatform qws/linux-x86-g++ \
-embedded x86 \
-qt-freetype \
-depths 16,18 \
-qt-gfx-qvfb \
-no-gfx-transformed \
-no-gfx-multiscreen \
-no-gfx-vnc \
-no-gfx-linuxfb \
-qt-kbd-tty \
-qt-kbd-usb \
-qt-kbd-qvfb \
-qt-mouse-pc \
-qt-mouse-qvfb \
-no-glib \
-silent

# make && make install

安装Qt-Embedded for ARM
# tar jxvf qt-embedded-linux-opensource-src-4.5.0.tar
# cd qt-embedded-linux-opensource-src-4.5.0
# echo "yes" | ./configure \
-release \
-shared \
-no-qt3support \
-no-xmlpatterns \
-no-svg \
-no-webkit \
-system-zlib \
-qt-gif \
-system-libtiff \
-system-libpng \
-qt-libmng \
-system-libjpeg \
-make libs \
-make tools \
-nomake examples \
-nomake docs \
-nomake demo \
-no-nis \
-no-cups \
-no-iconv \
-no-dbus \
-no-openssl \
-xplatform qws/linux-arm-g++ \
-embedded arm \
-little-endian \
-qt-freetype \
-depths 16,18 \
-qt-gfx-linuxfb \
-no-gfx-transformed \
-no-gfx-multiscreen \
-no-gfx-vnc \
-no-gfx-qvfb \
-qt-kbd-tty \
-qt-kbd-usb \
-qt-mouse-tslib \
-qt-mouse-pc \
-no-glib \
-silent

# make && make install

2.设置环境变量,例如:
仅当前用户有效(其他用户无效):修改$HOME/.bash_profile,加入:
PATH=/usr/local/Trolltech/Qt-4.3.5/bin:$PATH

所有用户有效(包括root和普通用户):
       修改/etc/profile,加入以下两行(一般在最后一行添加):
export PATH=/usr/local/Trolltech/Qt-4.5.0/bin:$PATH

2、程序调试和帮助

在PC机上调试Qt-Embedded程序的方法为,使用Qt-Embedded for x86的Qt库来编译Qt-Embedded程序,然后使用Qt-x11的qvfb工具仿真调试。下面以demo程序为例:
# tar jxvf demo.tar.bz2
# cd demo
# /usr/local/Trolltech/QtEmbedded-4.5.0/bin/qmake -project
# /usr/local/Trolltech/QtEmbedded-4.5.0/bin/qmake
# make
# /usr/local/Trolltech/Qt-4.5.0/bin/qvfb &
# ./demo -qws

运行以下程序可以查看Qt编程,调试,应用,布署等各方面的帮助。
# /usr/local/Trolltech/Qt-4.5.0/bin/assistant


3、将Qt-Embedded程序运行在目标板上

用Qt-Embedded for ARM编译Qt-Embedded应用程序,以demo为例:
# tar jxvf demo.tar.bz2
# cd demo
# /opt/Trolltech/QtEmbedded-4.5.0/bin/qmake -project
# /opt/Trolltech/QtEmbedded-4.5.0/bin/qmake
# make

将demo程序下载到目标板上,然后就可以运行demo程序。在运行程序前以下环境变量必须已经设置。

export QTDIR=/opt/QtEmbedded-4.5.0
export PATH=$QTDIR/bin:$PATH
export QWS_DISPLAY=LinuxFb:/dev/fb0
export QWS_SIZE=640x480
export QWS_SW_CURSOR=1
export QWS_MOUSE_PROTO=Tslib:/dev/ep93xx_ts
export QWS_KEYBOARD=TTY:/dev/ttyS0
export QT_ONSCREEN_PAINT=0
export PONTERCAL_FILE=/etc/pointercal

export LD_LIBRARY_PATH=$QTDIR/lib:/lib:/usr/lib:$LD_LIBRARY_PATH

export TSLIB_TSDEVICE=/dev/ep93xx_ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/lib/ts
export TSLIB_CONSOLEDEVICE=/dev/tty
export TSLIB_FBDEVICE=/dev/fb0
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线guochao
只看该作者 6楼 发表于: 2009-05-19
请问在开发板上需要作些什么操作吗,还是直接就能运行程序?我以前用minigui,还需要把相关的库文件copy到开发板上,请问qt需要吗
离线bhwbj
只看该作者 7楼 发表于: 2009-05-19
拜托,楼上的楼上不就写了么?
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线guochao
只看该作者 8楼 发表于: 2009-05-19
谢谢,看明白了,这个是不是把fro  arm和fro x86的都安装在了/usr/local/Trolltech/QtEmbedded-4.5.1这个目录
离线bhwbj
只看该作者 9楼 发表于: 2009-05-19
不是的。当你./configure -embedded arm的时候,会生成/usr/local/Trolltech/QtEmbedded-4.5.1-arm目录;
当你./configure -embedded x86的时候, 会生成/usr/local/Trolltech/QtEmbedded-4.5.1目录。
ls一下我的:
ls -lh /usr/local/Trolltech
drwxr-xr-x 12 root root 336 2009-05-14 23:14 Qt-4.5.1/
drwxr-xr-x  9 root root 264 2009-05-18 11:52 QtEmbedded-4.5.1/
drwxr-xr-x  9 root root 264 2009-05-14 10:50 QtEmbedded-4.5.1-arm/
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线guochao
只看该作者 10楼 发表于: 2009-05-19
哦,非常感谢ls的耐心解答
离线smalltiancai
只看该作者 11楼 发表于: 2009-05-19
请问下编译qte之前还需要加一些其他的库吗?? 比如tlib  zlib 库 之类的
离线bhwbj
只看该作者 12楼 发表于: 2009-05-21
楼上是指tslib吧?应该不用,我的板子用的h3600_raw。
用-qt-zlib选项的话不用先编译zlib;如果用-system-zlib,需要先编译zlib,并在configure的选项上加入-I/zlibDIR/include -L/zilibDIR/lib
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线smalltiancai
只看该作者 13楼 发表于: 2009-05-21
谢谢 生命不息高手的解答  再请问一下,在开发板运行的话需要把库也放到开发板上吗?还是直接在PC上用交叉编译器编译成可执行文件放在开发板就行了??

另外,关于用qt自带的触摸屏工具应该怎么样设置呢??  谢谢了
[ 此帖被smalltiancai在2009-05-21 19:57重新编辑 ]
离线xbl1999
只看该作者 14楼 发表于: 2009-05-27
高手!
离线bhwbj
只看该作者 15楼 发表于: 2009-05-27
是的,在开发板上建立个文件夹,如opt/qt,将PC上QtEmbedded-4.5.1-for arm /lib下的libQtGui.so.4.5.1  libQtCore.so.4.5.1 libQtNetwork.so.4.5.1 和fonts拷贝到/opt/lib下,然后在开发板上设置环境变量:
# on board

export QTDIR=/opt/qt

export PATH=$QTDIR:$QTDIR/plugins:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/plugins/imageformats:$LD_LIBRARY_PATH

export set QWS_MOUSE_PROTO=LinuxTP:/dev/h3600_tsraw

export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"


export QT_PLUGIN_PATH=$QTDIR/plugins/

export QT_QWS_FONTDIR=$QTDIR/lib/fonts

将在PC上交叉编译好的程序拷贝到开发板上运行。
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线xbl1999
只看该作者 16楼 发表于: 2009-05-27
绝对的高手,应该参与了一些项目吧?至少有不少经验滴!!
离线smalltiancai
只看该作者 17楼 发表于: 2009-05-29
高手~~~到了最后一步了 我的是s3c2410的芯片 根文件系统是ramdisk 根据你说的设置环境变量了 可是还是出现如下的问题 怎么办呢??~~请帮帮我吧~~谢谢了
/mnt/nfs/root_nfs/opt/qphoto # ./qphoto
./qphoto: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory

我已经把libQtGui.so.4.4.3* libQtCore.so4.4.3*全部都拷贝到/opt/qt/lib中了 而且环境变量也照着你的设置了 请问是什么原因呢 另外 我的触摸屏的位置是/dev/input/ts0

请帮帮我看是什么问题~~~~谢谢啦~~~
离线xbl1999
只看该作者 18楼 发表于: 2009-05-30
我也是,帮你顶。
离线smalltiancai
只看该作者 19楼 发表于: 2009-05-31
经过参考各位高手的讲解,现在我已经可以在开发板上成功的运行程序了,可是关于触摸屏却还有一点问题,用笔点击移动屏幕的时候,它的轨迹是我的笔的轨迹是相反的,就是我想它往上面走,屏幕里的鼠标却是向下走的的。。。。。。。
在开发板端,我的环境变量是这样设的:

#export set QTDIR=/usr/local/Trolltech/QtEmbedded-4.3.3-arm
#export set QPEDIR=/usr/local/Trolltech/QtEmbedded-4.3.3-arm
#export set QWS_MOUSE_PROTO="LinuxTP:/dev/h3600_tsraw"
#export set PATH=$QPEDIR/bin:$PATH
#export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib

ln -s /dev/fb/0 /dev/fb0
ln -s /dev/input/ts0 /dev/h3600_tsraw

我编译qte的时候是没有加-tslib参数的,所以也没有用tslib校准工具,设置环境变量的时候也没有添加/etc/pointercal

当时是想用qt自带的校准工具,请问在开发板设置环境变量的时候怎么把qt的校准工具设置好呢??  

请各位高手帮我解答一下吧·~~~~马上就要大功告成了 谢谢大家了!!
[ 此帖被smalltiancai在2009-05-31 11:48重新编辑 ]
离线luo_dean

只看该作者 20楼 发表于: 2009-06-02
看来我是来晚了,这里有高手,以后要多关注学习。
离线alikewater
只看该作者 21楼 发表于: 2009-06-07
ls请问你的那个问题如何解决的呢
我还是菜鸟,但是有一天,我会飞起来
离线alikewater
只看该作者 22楼 发表于: 2009-06-07
ls请问你的那个问题如何解决的呢
我还是菜鸟,但是有一天,我会飞起来
离线xbl1999
只看该作者 23楼 发表于: 2009-06-07
请问一个问题:只安装Qt/E(已经成功安装),能不能不安装Qt,而只是把其他机器上的qvfb拷贝到相应目录,可以吗?
离线smalltiancai
只看该作者 24楼 发表于: 2009-06-14
感谢大家的帮助~~我的毕业答辩已经做完了
感谢生命不息高手耐心回答我的提问
谢谢论坛里面的各位在前段时间给予我的指导和帮助,谢谢大家!!
离线zhouliangya
只看该作者 25楼 发表于: 2010-09-12
回 24楼(smalltiancai) 的帖子
你的问题是如何解决的??怎么不回答呢?
快速回复
限100 字节
 
上一个 下一个