作者:cp
时间:2019-05-16
申明:本文一些素材取自网络,归原作者所有

写在前面

移植基于linuxfb的QT,不建议使用吧,这里只作C-SKY也可以使用QT的证明

1.源码

1.1下载

http://download.qt.io/archive/qt/

  • 我下载的qt-everywhere-src-5.12.3.tar.xz

  • 放在C-SKY下新建的文件夹QT

1.2解压

xz -d qt-everywhere-src-5.12.3.tar.xz
tar -xvf qt-everywhere-src-5.12.3.tar

2.配置qmake.conf

  • C-SKY/QT/qt-everywhere-src-5.12.3/qtbase/mkspecs下新建文件夹linux-csky-g++,其中文件复制于linux-g++,也即:
cp -r linux-g++ linux-csky-g++
  • 编辑qmake.conf,内容如下:
#
# qmake configuration for linux-g++
#MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublibQT_QPA_DEFAULT_PLATFORM = linuxfb:fb=/dev/fb0
QMAKE_CFLAGS_RELEASE  += -O2
QMAKE_CXXFLAGS_RELEASE += -O2include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)# modifications to g++.conf
QMAKE_CC                = csky-linux-gcc
QMAKE_CXX               = csky-linux-g++
QMAKE_LINK              = csky-linux-g++ -msoft-float -lrt
QMAKE_LINK_SHLIB        = csky-linux-g++ -msoft-float -lrtQMAKE_CFLAGS += -msoft-float
QMAKE_CXXFLAGS += -msoft-float# modifications to linux.conf
QMAKE_AR                = csky-linux-ar cqs
QMAKE_OBJCOPY           = csky-linux-objcopy
QMAKE_NM                = csky-linux-nm -P
QMAKE_STRIP             = csky-linux-stripload(qt_config)

3.configure&make

  • QT下新建文件夹qt-csky用于存放生成文件
  • qt-everywhere-src-5.12.3configure
./configure -prefix /home/cp/Desktop/C-SKY/QT/qt-csky -verbose -confirm-license -opensource -release -xplatform linux-csky-g++ -optimized-qmake -optimize-size -strip -linuxfb -pch -sql-sqlite -qt-libjpeg -qt-libpng -qt-zlib -no-opengl -no-sse2 -no-openssl -no-iconv -no-cups -no-glib -no-dbus -no-xcb -no-separate-debug-info -make libs -nomake examples -nomake tools -nomake tests -skip qt3d -skip qtcanvas3d -skip qtpurchasing -skip qtvirtualkeyboardmake

此时会产生关于double-conversion的错误,如下:

其实在configure中有一个选项可以使用-no-doubleconversion,但是最终也会产生#Your C library does not provide sscanf_l or snprintf_l的错误,所以这里直接看提示打开../3rdparty/double-conversion/include/double-conversion/double-conversion.h:31:0,如下:

可以发现实际上我们没有指定架构导致不能正常使用double-conversion,所以configure时加上-D __riscv,完整的configure如下:

./configure \-verbose    \-prefix /home/cp/Desktop/C-SKY/QT/qt-csky \-confirm-license    \-opensource -release    \-make libs  \-xplatform linux-csky-g++    \-optimized-qmake    \-optimize-size \-strip \-linuxfb    \-pch    \-sql-sqlite  \-qt-libjpeg \-qt-libpng  \-qt-zlib    \-no-opengl  \-no-sse2    \-no-openssl \-no-iconv \-no-cups    \-no-glib    \-no-dbus    \-no-xcb \-no-separate-debug-info \-nomake examples -nomake tools -nomake tests    \-skip qt3d -skip qtcanvas3d -skip qtpurchasing -skip qtvirtualkeyboard \-D __riscv

make & make install

4.安装与配置

4.1安装

  • 将编译安装得到的lib、plugins拷贝到开发板/opt/QT5.12.3_csky文件夹中,其中lib中存放的是QT程序运行所需的动态库文件,plugins中存放的应该是所需的插件
  • 新建/opt/QT5.12.3_csky/fonts文件夹存放字体,字体随便从网上找几个放进去就好

4.2环境变量配置

发现开发板根文件系统存在/etc/profile.d文件夹,启动时/etc/profile自动配置里面的内容,故在/etc/profile.d里面新建qt_env.sh(新建完成需要设置权限),内容为:

#!/bin/shexport QT_ROOT=/opt/QT5.12.3_csky
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_FONTDIR=$QT_ROOT/fonts
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:$QT_ROOT/lib

此时,重启后如果有编译好QT应用程序,就可以直接运行了(QT5之后不需要-qws)

5.Qt Creator交叉编译环境

5.1安装

sudo apt-get install cmake qt5-default qtcreator

5.2打开

qtcreator

5.3配置

  • 打开Qt Creator–>Tools–>Options–>Build & Run–>Compilers–>Add GCC(ABI:unknown)–>Apply

1.Add GCC C

2.Add GCC C++

  • 切换到Debuggers标签,点击“Add”按钮,选择gdb,Apply,如下:
  • 切换到Qt Versions标签,点击“Add”按钮,选择qmake,Apply,如下:
  • 切换到Kits标签,点击“Add”按钮,设置如下:

5.4工程编译

  • 新建文件夹C-SKY/QtCreator用于放置QT工程
  • 新建工程

  • 编译

5.5运行

拷贝程序至开发板运行即可

参考

[1]https://c-sky.github.io/docs/gx6605s.html
[2]https://blog.csdn.net/vickycheung3/article/details/82182136
[3]CSDN

(诛仙剑C-SKY)6-QT相关推荐

  1. (诛仙剑C-SKY)1-初识

    作者:cp 时间:2019-05-06 申明:本文一些素材取自网络,归原作者所有 写在前面 "中华芯,天下行",自主知识产权的32位C-SKY系列嵌入式CPU核,值得学习 1.开发 ...

  2. (诛仙剑C-SKY)2-开发

    作者:cp 时间:2019-05-08 申明:本文一些素材取自网络,归原作者所有 写在前面 进入系统后,如何开发应用程序,下面开始介绍 1.交叉编译工具链 buildroot编译后会在buildroo ...

  3. (诛仙剑C-SKY)7-curl

    作者:cp 时间:2019-05-18 申明:本文一些素材取自网络,归原作者所有 写在前面 网络与利器curl 1.源码 1.1下载 https://curl.haxx.se/download.htm ...

  4. (诛仙剑C-SKY)4-FrameBuffer

    作者:cp 时间:2019-05-12 申明:本文一些素材取自网络,归原作者所有 写在前面 开发板提供了HDMI接口,一定要试试FB 1.环境 参见第一节"4.串口+HDMI", ...

  5. (诛仙剑C-SKY)3-NFS

    作者:cp 时间:2019-05-10 申明:本文一些素材取自网络,归原作者所有 写在前面 为便于开发实际中经常使用NFS服务,这里分享一下在我的环境中配置NFS的方法,仅供参考 1.背景 校园网 开 ...

  6. 电影《诛仙Ⅰ》:“IP加流量的话”现在还可以行得通吗

    <诛仙Ⅰ>(下文简称<诛仙>)由香港导演程小东执导,肖战.李沁.孟美岐等领衔主演.在这个夏天之前,鲜少人看好这部电影.虽然程小东曾执导过张国荣.王祖贤经典版的<倩女幽魂& ...

  7. 12月21诛仙服务器维护,诛仙手游正式服12月22日例行更新维护公告

    为了给您提供更优质的游戏体验,<诛仙手游>[正式服]将于12月22日6:00-9:00进行例行停机更新维护.预计停机180分钟,如遇特殊情况,开机时间将会顺延.本次更新后,等级≥30级的玩 ...

  8. 最近用到ListView需要几人人物,于是整理了下以前看的玄幻小说人名,时间不够,只整理了几本,凑合用着 1》诛仙

    诛仙 张小凡 陆雪琪 碧瑶 青云门 大竹峰 田不易 苏茹 田灵儿 宋大仁 吴大义 郑大礼 何大智 吕大信 杜必书 小灰 大黄 通天峰 道玄真人 万剑一 萧逸才 龙首峰 苍松道人 齐昊 林惊羽 朝阳峰 ...

  9. 梦幻诛仙linux系统游戏,梦幻诛仙我最懂,助你畅玩“诛仙奇缘”!

    七载梦诛,御剑而归,<诛仙梦幻>手游即将开启全新版本的灰度精英删档测试啦,是不是想想心里还有点小激动呢?在游戏中,除了做任务升级,相信大家也非常喜欢一些放松好玩的小玩法,"诛仙奇 ...

最新文章

  1. EMR、EHR和PHR的定义与对比
  2. 最长重复子数组最长公共子序列不相交的线
  3. Bootstrap~多级导航(级联导航)的实现
  4. 查找文章中出现频率最高的单词
  5. LeetCode(1)——两数之和(JavaScript)
  6. 安卓:android.process.media意外停止解决方法
  7. Activity启动模式singleTask模式
  8. ISIS metric
  9. a-btest 数据挖掘_挖掘新的垂直鼠标-帮助我的腕管
  10. 【高中必修二】几何体
  11. android获取sdcard文件,android读取SDCard任意路径下的文件
  12. 图像处理工具包实现应用图像效果
  13. 迎新春 送温暖——郧阳小红花健康守护包发放
  14. 安装和配置zabbix-5.0.20
  15. 时间序列学习 经典案例(3)离散傅里叶变换DFT(案例:时序去噪)
  16. java调用扫描仪1
  17. html调用wrl,如何实现在网页里嵌入wrl文件
  18. 决策报表里使用延时函数实现某些js效果
  19. 这些超级好用的浏览器插件,还有很多人都不知道
  20. 深谈计算机网络互联技术论文,浅谈计算机网络技术对音乐发展的影响

热门文章

  1. 计算机图形学常用的数学函数图像
  2. TP6-----前端登录(二)
  3. 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.0,完善基础功能(源码)
  4. Oracle行列互换总结
  5. SpringBoot 日志总结
  6. vs2019 中文离线安装包下载,类似ISO
  7. 一周信创舆情观察(5.24~5.30)
  8. 基于SECS协议开发的简明教程(4)
  9. 什么是linux系统镜像,什么是镜像(Image)?
  10. 血腥的3Q大战,互联网第一次世界大战