首页问答详情

QtCreator支持3520D工具链

 
goodman
goodman  发布于  2015-07-12 09:03:58
采纳率 0%
30个问答
wooshang@126.com
本帖最后由 goodman 于 2015-7-14 21:07 编辑

本文描述了海思3520D平台下Qt开发的步骤,对于海思的其他平台也是通用的,请自己参考本教程适当修改即可。环境:
Fedora 22 + Qt 4.8.6 + Hi3520DSDKV1.0.2.2 + arm-hisiv100nptl-linux-gcc
不要问我问什么不用Ubuntu,因为我喜欢Fedora....
1.SDK安装
海思的SDK安装就不详细赘述了,SDK里面的readme_cn.txt已经写的很详细了,不会的就在论坛里面发帖问好了.注意交叉工具链选择arm-hisiv100nptl-linux-gcc,假设工具链的路径是
[quote]~/worspace/toolchain/arm-hisiv100-linux[/quote]
2.Qt的安装
首先下载我已经编译好的[url=http://pan.baidu.com/s/1kTiWuEV]Qt4.8.6下载[/url],关于版本之后做说明。解压到你自己的安装目录,并运行fixme.sh脚本,否则在下面出错。(workspace换成你自己的)
[code]cd ~/workspace/
tar -zxvf Qt4.8.6
cd ~/workspace/Qt4.8.6/bin
./fixme.sh[/code]
执行完上述命令后会在当前目录下生成一个qt.conf的文件,原因就不讲了,可以自行Google.
3.QtCreate的配置
打开QtCreate依次点开菜单栏里面的tools--->options选择到编译器那一栏按照下图配置好

再点到Qt Version按下图配置好

最后再选择Kits按如下配置就可以了

下面就是打开guitest工程了,guitest.pro就是QtCreator的工程,打开时候会让你选择使用哪个Kits作为开发如下图所示

4.编译运行
编译完成之后需要拷贝到板子上去运行,本地是运行不了,建议大家挂NFS,这样不但速度快而且还不会频繁的擦写flash,最后编译完大概就是这样子的

5.关于Qt的裁剪
Qt要想根据实际项目才能裁剪到8M左右(之前4.7版本),要想裁剪到这个地步是要牺牲很多特性及控件的,也就是仅仅支持一些简单的控件,通用版本的可以裁剪到11~12M,对于我们配合squashfs来使用完全可以满足需求的,也就是在16M的SPI-FLASH上使用,对于一般的开发来讲libQtCore.so.4.8.6 libQtNetwork.so.4.8.6 libQtGui.so.4.8.6这3个就足够了,目前使用的Qt配置如下,供大家参考:
[code]
./configure -prefix $HOME/workspace/target/arm-hisiv100-linux/usr/local/Qt4.8.6 \
-opensource \
-confirm-license\
-no-qt3support\
-no-phonon\
-no-phonon-backend\
-no-multimedia\
-no-gtkstyle\
-no-svg\
-no-webkit\
-no-javascript-jit\
-no-script\
-no-scripttools\
-no-declarative\
-no-declarative-debug\
-qt-gfx-linuxfb\
-qt-zlib\
-no-gif\
-qt-libtiff\
-qt-libpng -no-libmng -qt-libjpeg\
-no-rpath -no-pch\
-no-3dnow   -no-avx  -no-neon\
-no-openssl\
-no-nis\
-no-cups\
-no-dbus\
-embedded arm\
-xplatform qws/linux-3520d-g++\
-little-endian\
-qt-freetype\
-no-opengl\
-no-glib\
-nomake demos\
-nomake examples\
-nomake docs
[/code]
结束

PS:以后尽量写文字,论坛的编辑器太难用了,我用markdown写好的格式往里面一粘贴全没了。。
我来回答
16686
10
7
回答
48个
易百纳技术社区
ymir 发布于2015-07-12 17:03:40
等到了,今晚测试一下、
0
易百纳技术社区
ymir 发布于2015-07-12 17:54:31
这样编译出来的共享库还是很大呢!
[code][root@localhost:2 lib]# ll -Sh
total 16M
-rwxr-xr-x. 1 root root  11M May 18 07:28 libQtGui.so.4.8.6
-rwxr-xr-x. 1 root root 3.4M May 18 07:27 libQtCore.so.4.8.6
-rwxr-xr-x. 1 root root 1.1M May 18 07:28 libQtNetwork.so.4.8.6
-rwxr-xr-x. 1 root root 262K May 18 07:28 libQtXml.so.4.8.6
-rwxr-xr-x. 1 root root 226K May 18 07:28 libQtSql.so.4.8.6
-rwxr-xr-x. 1 root root 134K May 18 07:28 libQtTest.so.4.8.6
drwxr-xr-x. 2 root root 4.0K May 18 07:28 fonts
drwxr-xr-x. 2 root root 4.0K May 18 07:28 pkgconfig
-rw-r--r--. 1 root root  719 May 18 07:28 libQtGui.prl
-rw-r--r--. 1 root root  717 May 18 07:28 libQtNetwork.la
-rw-r--r--. 1 root root  710 May 18 07:28 libQtNetwork.prl
-rw-r--r--. 1 root root  707 May 18 07:28 libQtTest.prl
-rw-r--r--. 1 root root  701 May 18 07:28 libQtGui.la
-rw-r--r--. 1 root root  699 May 18 07:28 libQtSql.prl
-rw-r--r--. 1 root root  698 May 18 07:28 libQtXml.prl
-rw-r--r--. 1 root root  696 May 18 07:28 libQtTest.la
-rw-r--r--. 1 root root  689 May 18 07:28 libQtSql.la
-rw-r--r--. 1 root root  689 May 18 07:28 libQtXml.la
-rw-r--r--. 1 root root  682 May 18 07:27 libQtCore.prl
-rw-r--r--. 1 root root  670 May 18 07:27 libQtCore.la
lrwxrwxrwx. 1 root root   21 May 18 07:28 libQtNetwork.so -> libQtNetwork.so.4.8.6
lrwxrwxrwx. 1 root root   21 May 18 07:28 libQtNetwork.so.4 -> libQtNetwork.so.4.8.6
lrwxrwxrwx. 1 root root   21 May 18 07:28 libQtNetwork.so.4.8 -> libQtNetwork.so.4.8.6
lrwxrwxrwx. 1 root root   18 May 18 07:27 libQtCore.so -> libQtCore.so.4.8.6
lrwxrwxrwx. 1 root root   18 May 18 07:27 libQtCore.so.4 -> libQtCore.so.4.8.6
lrwxrwxrwx. 1 root root   18 May 18 07:27 libQtCore.so.4.8 -> libQtCore.so.4.8.6
lrwxrwxrwx. 1 root root   18 May 18 07:28 libQtTest.so -> libQtTest.so.4.8.6
lrwxrwxrwx. 1 root root   18 May 18 07:28 libQtTest.so.4 -> libQtTest.so.4.8.6
lrwxrwxrwx. 1 root root   18 May 18 07:28 libQtTest.so.4.8 -> libQtTest.so.4.8.6
lrwxrwxrwx. 1 root root   17 May 18 07:28 libQtGui.so -> libQtGui.so.4.8.6
lrwxrwxrwx. 1 root root   17 May 18 07:28 libQtGui.so.4 -> libQtGui.so.4.8.6
lrwxrwxrwx. 1 root root   17 May 18 07:28 libQtGui.so.4.8 -> libQtGui.so.4.8.6
lrwxrwxrwx. 1 root root   17 May 18 07:28 libQtSql.so -> libQtSql.so.4.8.6
lrwxrwxrwx. 1 root root   17 May 18 07:28 libQtSql.so.4 -> libQtSql.so.4.8.6
lrwxrwxrwx. 1 root root   17 May 18 07:28 libQtSql.so.4.8 -> libQtSql.so.4.8.6
lrwxrwxrwx. 1 root root   17 May 18 07:28 libQtXml.so -> libQtXml.so.4.8.6
lrwxrwxrwx. 1 root root   17 May 18 07:28 libQtXml.so.4 -> libQtXml.so.4.8.6
lrwxrwxrwx. 1 root root   17 May 18 07:28 libQtXml.so.4.8 -> libQtXml.so.4.8.6
[root@localhost:2 lib]# [/code]
0
易百纳技术社区
jp1017 发布于2015-07-13 08:18:13
ubuntu15.04用户路过,帮顶下
有时间玩玩,现在搞java中
0
易百纳技术社区
jp1017 发布于2015-07-13 08:44:34
本帖最后由 jp1017 于 2015-7-13 08:46 编辑

提示qt没有被正确安装,请运行make install,在哪里运行呢没有makefile???





0
易百纳技术社区
goodman 发布于2015-07-13 21:13:42
wooshang@126.com
[quote][url=forum.php?mod=redirect&goto=findpost&pid=18009&ptid=8086]jp1017 发表于 2015-7-13 08:44[/url]
提示qt没有被正确安装,请运行make install,在哪里运行呢没有makefile???[/quote]

把你的qt.conf发出来我看看
0
易百纳技术社区
jp1017 发布于2015-07-14 08:09:27
[quote][url=forum.php?mod=redirect&goto=findpost&pid=18046&ptid=8086]goodman 发表于 2015-7-13 21:13[/url]
把你的qt.conf发出来我看看[/quote]

这个就是qt.conf文件内容了



0
易百纳技术社区
goodman 发布于2015-07-14 20:55:21
wooshang@126.com
[quote][url=forum.php?mod=redirect&goto=findpost&pid=18050&ptid=8086]jp1017 发表于 2015-7-14 08:09[/url]
这个就是qt.conf文件内容了[/quote]

我测试过了,是我的脚本写的有问题。。
把路径的bin去掉就可以了。。
附上修正后的脚本
[code]#!/bin/bash
# @File fixpath.sh
# @Athor WooShang  wooshang@126.com

PREFIX=$(dirname ${PWD})
echo "[Paths]" > qt.conf
echo "Prefix = ${PREFIX}">> qt.conf[/code]

感谢测试。。。:lol
0
易百纳技术社区
jp1017 发布于2015-07-15 08:35:41
本帖最后由 jp1017 于 2015-7-15 08:36 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=18094&ptid=8086]goodman 发表于 2015-7-14 20:55[/url]
我测试过了,是我的脚本写的有问题。。
把路径的bin去掉就可以了。。
附上修正后的脚本
[/quote]

修改后编译成功,生成了gui_test可执行程序
挂载nfs,运行./gui_test,提示:./gui_test: can't load library 'libmpi.so'
这个库要放到板子里吗,什么位置,怎么连接的,乱的很



0
易百纳技术社区
yang0621 发布于2015-07-22 09:04:14
通过nfs挂载  这么设置环境 让程序连接动态库
0
易百纳技术社区
myearth 发布于2015-08-17 15:47:06
# ./gui_test -qws
QFontDatabase: Cannot find font directory /home/lwx/workspace/target/arm-hisiv100-linux/usr/local/Qt4.8.6/lib/fonts - is Qt installed correctly?
这是什么情况,怎么找不到那里改!?谢谢

0
易百纳技术社区
myearth 发布于2015-08-17 17:28:13
export QT_QWS_FONTDIR=/mnt/usr/lib/fonts

执行下路径就好,自己搞定了
0
易百纳技术社区
goodman 发布于2015-08-17 19:18:35
wooshang@126.com
[quote][url=forum.php?mod=redirect&goto=findpost&pid=19366&ptid=8086]myearth 发表于 2015-8-17 17:28[/url]
export QT_QWS_FONTDIR=/mnt/usr/lib/fonts

执行下路径就好,自己搞定了[/quote]

非常好,解决了还来分享,论坛需要你
0
易百纳技术社区
myearth 发布于2015-08-17 20:35:46
[quote][url=forum.php?mod=redirect&goto=findpost&pid=19371&ptid=8086]goodman 发表于 2015-8-17 19:18[/url]
非常好,解决了还来分享,论坛需要你[/quote]

您提供的资料,最少让我少干2周,非常感谢!
0
易百纳技术社区
zhitao2072 发布于2015-08-21 17:58:06
我想问一下,你第三步的界面是在哪里面的?,我的Ubuntu上的QT creator怎么没有这个界面
0
易百纳技术社区
xsjqqq123 发布于2015-09-21 22:27:30
我在你贴出的参数后加 -qconfig  想进一裁减,但怎样都出错,请问需要注意些什么?
0
易百纳技术社区
wonsea 发布于2015-12-09 15:49:45
本帖最后由 wonsea 于 2015-12-9 15:55 编辑

大哥,我解你那个包会失败:tar: skipping to next header;包有问题么
还有一个纳闷的问题,你们的鼠标事件是从哪里来的(板子上不是没有鼠标接口么),我现在是SOCKET收的另外一台机器的鼠标事件;
0
易百纳技术社区
Friendz 发布于2016-05-28 15:13:25
[quote][url=forum.php?mod=redirect&goto=findpost&pid=23202&ptid=8086]wonsea 发表于 2015-12-9 15:49[/url]
大哥,我解你那个包会失败:tar: skipping to next header;包有问题么
还有一个纳闷的问题,你们的鼠标事 ...[/quote]

USB 鼠标可否用?
0
易百纳技术社区
fb362203 发布于2016-05-29 17:20:57
具有相当高的指导意义啊
0
易百纳技术社区
willzhang121 发布于2016-05-31 09:00:36
感谢大神分享
0
易百纳技术社区
艾编程的鲁小班 发布于2016-07-05 16:34:27
一个爱技术的人
感谢大神分享,问一个小白级的问题,qt库的裁剪是不是先写好qt程序之后再去裁。。。
0

Markdown 语法

  • 加粗 **内容**
  • 斜体 *内容*
  • 删除线 ~~内容~~
  • 引用 > 引用内容
  • 代码 `代码`
  • 代码块 ```编程语言↵代码```
  • 链接 [链接标题](url)
  • 无序列表 - 内容
  • 有序列表 1. 内容
  • 缩进 内容
  • 图片 ![alt](url)

Markdown 语法

  • 加粗 **内容**
  • 斜体 *内容*
  • 删除线 ~~内容~~
  • 引用 > 引用内容
  • 代码 `代码`
  • 代码块 ```编程语言↵代码```
  • 链接 [链接标题](url)
  • 无序列表 - 内容
  • 有序列表 1. 内容
  • 缩进 内容
  • 图片 ![alt](url)
+ 添加网盘链接/附件
或将文件直接拖到这里
悬赏:
EBC
网盘
* 网盘链接:
* 提取码:
悬赏:
EBC
相关问答
无更多相似问答 去提问
Loading...
易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区
易百纳技术社区
在专栏模块发布专栏,可获得其他E友的打赏
易百纳技术社区
回答悬赏问答,被题主采纳后即可获得悬赏金
易百纳技术社区
在上传资料时,有价值的资料可设置为付费资源
易百纳技术社区
达到一定金额,收益即可提现~
收益也可用来充值ebc,下载资料、兑换礼品更容易
易百纳技术社区
活动规则
  • 1.周任务为周期性任务,每周周一00:00刷新,上周完成的任务不会累计到本周,本周需要从头开始任务,当前任务完成后才可以完成下一个任务
  • 2.发布的专栏与资料需要与平台的板块有相关性,禁止注水,专栏/资料任务以审核通过的篇数为准
  • 3.任务完成后,现金奖励直接打款到微信账户;EBC/收益将自动发放到个人账户,可前往“我的钱包”查看;其他奖励请联系客服兑换
  • 4.每周最后三个任务将会有以下奖品掉落:社区热卖开发板、小米音响、视频年度会员、京东卡、华为手机等等
易百纳技术社区
升级提醒
易百纳技术社区

恭喜您由入门

社区送出礼品一份

请填写您的收件地址,礼品将在3个工作日寄出

易百纳技术社区