主题 : Fedora12下搭建Qt Creator的ARM开发环境 并 移植Qt4.6.2到Micro2440(二) 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 13658
精华: 2
发帖: 59
金钱: 400 两
威望: 80 点
贡献值: 2 点
综合积分: 158 分
注册时间: 2010-01-27
最后登录: 2022-01-21
楼主  发表于: 2010-03-15 22:32

 Fedora12下搭建Qt Creator的ARM开发环境 并 移植Qt4.6.2到Micro2440(二)

管理提醒: 本帖被 kasim 执行加亮操作(2010-04-11)
Fedora12下搭建Qt CreatorARM开发环境 移植Qt4.6.2Micro2440(二)

继续……

5、安装Qt-creator-1.3.1
把下载的qt-creator-linux-x86-opensource-1.3.1.bin文件拷到一个目录(如前面的/root/tmp目录),进入目录:

设置qt-creator-linux-x86-opensource-1.3.1.bin文件为可执行
#chmod +x qt-creator-linux-x86-opensource-1.3.1.bin

安装:
# ./ qt-creator-linux-x86-opensource-1.3.1.bin

启动安装界面,默认一路Next即可。

*如果我们下载的是QtSDKqt-sdk-linux-x86-opensource-2010.02.bin),这里可以选择安装Qt的开发环境,这样,在前面安装pcQt那步就可以省了,关键是可以省出很多时间的。

6Qt-creator开发环境的配置
启动Qt-creator

Qt-creator菜单栏Tools—〉Options…打开Options窗口。
Options界面左侧,点击Qt4—〉Qt Versions右侧显示Qt Versions设置界面。

Qt Versions界面中点击那个蓝色的大“”号图标
在下方Version Name:文本框内输入Qt的版本名,可以随便填,能区分各个版本即可(如pc版取Qt4.6.2-pcx86版取QtE4.6.2-x86arm版取QtE4.6.2-arm)。

单击Qmake Location:右侧Browse…按钮,在弹出的“Select QMake Executable”窗口中找到对应版本的qmake程序(按照我们前面安转的,pc版路径:/usr/local/Trolltech/Qt-4.6.2/bin/qmakex86版路径:/usr/local/Trolltech/QtEmbedded-4.6.2/bin/qmakearm版路径:/usr/local/Trolltech/QtEmbedded-4.6.2-arm/bin/qmake),单击打开,回到Qt Versions界面。

回到Qt Versions界面,单击Debugging Helper:右侧Rebuild按钮,等待片刻,看到Debugging Helper:后出现一个绿色的“”即可。

同理完成其他版本的添加。

添加完毕,单击OK按钮关闭Options窗口。

到此,Qt-creator配置完毕(我暂时就配置了这些)。

7、一个例子
usr/local/Trolltech/QtEmbedded-4.6.2/demos下复制books例程到root/tmp文件夹下。

启动Qt-creatorFile—〉Open File or Project…,打开root/tmp/books/books.pro

这里我们分两部分,首先编译x86下的,并运行在qvfb下,再编译arm下的,移到开发板下运行。

7.1x86下的编译与调试
Qt-creator界面左侧点击Projects图标,打开工程设置界面。

从上往下,

Edit Project Settings for Project books——〉Build Settings——〉Edit Build Configuration:单击Add,在下拉列表中选择Using Qt Version “QtE4.6.2-x86”弹出对话框单击Ok按钮,在Edit Build Configuration:下会出现蓝色的Make QtE4.6.3-x86 Release active.字符,单击激活QtE4.6.3-x86 Release

Run Settings——〉Edit run configuration:右侧单击Show Details按钮,在打开的下拉列表中Arguments:文本框中添加参数“-qws”。

设置完毕,点击Edit图标,回到编辑界面。

编译:在Build菜单下,先Clean Project books”,然后Build Project books”,在右下角Compile Output窗口能看到编译信息(按我们上面这样走来,到此编译不会出问题的)。

运行:
启动终端,# /usr/local/Trolltech/QtEmbedded-4.6.2/bin/qvfb -width 800 -height 480 &,启动Qvfb
回到Qt-creatorBuild——〉Run,运行程序。

切换我们的Qvfb窗口中,是不是看到Books运行的界面了。

调试:Debug——〉Start Debugging——〉Start Debugging,即可启动调试(请保证books路径中没有中文名,即不要把books工程放在了某个含有中文字符的文件夹下,不然无法启动调试)。

此时感觉如果前面编译选项Edit Project Settings for Project books——〉Build Settings——〉Edit Build Configuration:选择Debug项,则调试启动速度比Release时的要快很多。

7.2arm编译并移植

编译:在Projects设置界面下,选择Using Qt Version “QtE4.6.2-arm”项,余下参数不变,build

复制编译好的文件(也许还有images文件夹)到2440NFS文件系统的某个目录下,我直接把books文件夹复制过去了(在Fedora12 文件系统下是/opt/FriendlyARM/mini2440/root_qtopia/home/plg文件夹下)。

运行及错误处理:
minicom下面,ps一下,找到qpe进程对应的PID,比如1234,然后通过kill 1234杀死Qtopia
进入books目录,执行./books –qws,此时就会出现前面讲到的“relocation error: /usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib/libQtGui.so.4: symbol powf, version GLIBCXX_3.4 not defined in file libstdc++.so.6 with link time reference”错误。

我的解决办法是进入主机/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/lib目录下找到libstdc++.so.6链接的文件libstdc++.so.6.0.8(通过右键属性——〉基本,可以看到链接的文件),复制并重命名为libstdc++.so.6/opt/FriendlyARM/mini2440/root_qtopia/lib文件夹下,之前别忘了将该文件夹下的libstdc++.so.6移到其它地方或重命名,如libstdc++.so.6.old

*重命名其实是比较野蛮的方法,可以用ln命令的,参照下面这篇文章……

http://hi.baidu.com/a263238386/blog/item/362f01ce7b11a10a93457eae.html

然后再运行./books –qws,看问题是不是解决了!

这里有个新的问题还没解决,就是在开发版上运行时字非常小,留着以后处理吧。

OK!至此,Fedora12下搭建Qt CreatorARM开发环境 移植Qt4.6.2Micro2440算告一段落了,留下两个问题:字体非常小的问题、开发板上的远程调试,留待下次解决。
[ 此帖被ppacctv在2010-03-26 21:38重新编辑 ]
级别: 新手上路
UID: 16174
精华: 0
发帖: 43
金钱: 225 两
威望: 45 点
贡献值: 0 点
综合积分: 86 分
注册时间: 2010-03-14
最后登录: 2012-12-16
1楼  发表于: 2010-03-23 10:27
楼主,你好,我想问一下,为什么,我直接./configure -xplatform qws/linux-g++ 编译安装之后例子可以直接运行呢?不用qvfb?
级别: 新手上路
UID: 6079
精华: 0
发帖: 34
金钱: 305 两
威望: 191 点
贡献值: 0 点
综合积分: 68 分
注册时间: 2009-05-19
最后登录: 2010-08-09
2楼  发表于: 2010-03-24 15:06


这是我电脑上的qvfb
我的也是这个原因 ,电脑上很好 但到开发板上字体很小 都看不清楚不知道什么原因???

楼主你的搞定没??
[ 此帖被guanghan12在2010-03-24 15:11重新编辑 ]
级别: 新手上路
UID: 16174
精华: 0
发帖: 43
金钱: 225 两
威望: 45 点
贡献值: 0 点
综合积分: 86 分
注册时间: 2010-03-14
最后登录: 2012-12-16
3楼  发表于: 2010-03-24 20:15
顶起!!
级别: 新手上路
UID: 13675
精华: 0
发帖: 39
金钱: 195 两
威望: 39 点
贡献值: 0 点
综合积分: 78 分
注册时间: 2010-01-27
最后登录: 2013-11-11
4楼  发表于: 2010-03-24 21:53
我的也是字体小。是不是ARM板上没有安装字体呀
级别: 侠客
UID: 13658
精华: 2
发帖: 59
金钱: 400 两
威望: 80 点
贡献值: 2 点
综合积分: 158 分
注册时间: 2010-01-27
最后登录: 2022-01-21
5楼  发表于: 2010-03-26 21:14

 回 1楼(zzddzhou) 的帖子

我也是初学者,感觉你配置不对,研究一下下面这篇文章吧,希望对你有帮助……

http://www.cuteqt.com/blog/?p=582
级别: 侠客
UID: 13658
精华: 2
发帖: 59
金钱: 400 两
威望: 80 点
贡献值: 2 点
综合积分: 158 分
注册时间: 2010-01-27
最后登录: 2022-01-21
6楼  发表于: 2010-03-26 21:19

 回 2楼(guanghan12) 的帖子

关于字体的问题,我只解决了一部分,最近比较忙,呵呵……,参照下面这篇文章吧……,在books这个例子可以,可是换到textedit这个例子,显示的文本区字体还是不正常,菜单倒是正常了……,我只是初学,玩玩,对这个还没搞懂呢,希望哪位强人能给方法……

http://www.qtcentre.org/threads/26993-font-size-difference-in-embedded-QT?highlight=font+size+in+arm+target
[ 此帖被ppacctv在2010-03-26 21:34重新编辑 ]
级别: 侠客
UID: 5721
精华: 0
发帖: 51
金钱: 275 两
威望: 72 点
贡献值: 0 点
综合积分: 102 分
注册时间: 2009-05-06
最后登录: 2017-09-13
7楼  发表于: 2010-04-15 09:16
学习下,我也想移植QT4到Armlinux中
级别: 新手上路
UID: 17743
精华: 0
发帖: 4
金钱: 20 两
威望: 4 点
贡献值: 0 点
综合积分: 8 分
注册时间: 2010-04-01
最后登录: 2013-07-19
8楼  发表于: 2010-04-15 16:49
字体大小可以在qt creator中对各个控件进行设置。
我现在有一个问题,使用qt creator在主机运行程序能显示中文,可是在ARM板上运行程序的时候,中文显示乱码,在网上查了查弄了一通,现在连中文都不显示了(英文正常显示)。
希望高手们帮帮我。
春暖花开我也冷
级别: 新手上路
UID: 16133
精华: 0
发帖: 24
金钱: 140 两
威望: 28 点
贡献值: 0 点
综合积分: 48 分
注册时间: 2010-03-14
最后登录: 2013-03-26
9楼  发表于: 2010-04-21 16:04
为什么我的屏幕不能全屏显示,上下各有一条黑屏