您的位置:首页 > Web前端

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

2011-12-06 10:58 561 查看
转自:http://www.arm9home.net/read.php?tid-5182.html

Fedora12下搭建Qt Creator的ARM开发环境

移植Qt4.6.2到Micro2440(二)

[align=left]继续……[/align]

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

[align=left]设置qt-creator-linux-x86-opensource-1.3.1.bin文件为可执行[/align]
[align=left]#chmod +x qt-creator-linux-x86-opensource-1.3.1.bin[/align]

[align=left]安装:[/align]
[align=left]# ./ qt-creator-linux-x86-opensource-1.3.1.bin[/align]

[align=left]启动安装界面,默认一路Next即可。[/align]

[align=left]*如果我们下载的是Qt的SDK(qt-sdk-linux-x86-opensource-2010.02.bin),这里可以选择安装Qt的开发环境,这样,在前面安装pc版Qt那步就可以省了,关键是可以省出很多时间的。[/align]

[align=left]6、Qt-creator开发环境的配置[/align]
[align=left]启动Qt-creator。[/align]

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

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

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

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

[align=left]同理完成其他版本的添加。[/align]

[align=left]添加完毕,单击OK按钮关闭Options窗口。[/align]

[align=left]到此,Qt-creator配置完毕(我暂时就配置了这些)。[/align]

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

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

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

[align=left]7.1、x86下的编译与调试[/align]
[align=left]在Qt-creator界面左侧点击Projects图标,打开工程设置界面。[/align]

[align=left]从上往下,[/align]

在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”。

[align=left]设置完毕,点击Edit图标,回到编辑界面。[/align]

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

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

[align=left]切换我们的Qvfb窗口中,是不是看到Books运行的界面了。[/align]

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

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

[align=left]7.2、arm编译并移植[/align]

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

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

[align=left]运行及错误处理:[/align]
在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”错误。

[align=left]我的解决办法是进入主机/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。[/align]

*重命名其实是比较野蛮的方法,可以用ln命令的,参照下面这篇文章……
http://hi.baidu.com/a263238386/blog/item/362f01ce7b11a10a93457eae.html
[align=left]然后再运行./books –qws,看问题是不是解决了![/align]

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

OK!至此,Fedora12下搭建Qt
Creator的ARM开发环境

移植Qt4.6.2到Micro2440算告一段落了,留下两个问题:字体非常小的问题、开发板上的远程调试,留待下次解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐