(诛仙剑C-SKY)6-QT
作者: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.3
下configure
./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相关推荐
- (诛仙剑C-SKY)1-初识
作者:cp 时间:2019-05-06 申明:本文一些素材取自网络,归原作者所有 写在前面 "中华芯,天下行",自主知识产权的32位C-SKY系列嵌入式CPU核,值得学习 1.开发 ...
- (诛仙剑C-SKY)2-开发
作者:cp 时间:2019-05-08 申明:本文一些素材取自网络,归原作者所有 写在前面 进入系统后,如何开发应用程序,下面开始介绍 1.交叉编译工具链 buildroot编译后会在buildroo ...
- (诛仙剑C-SKY)7-curl
作者:cp 时间:2019-05-18 申明:本文一些素材取自网络,归原作者所有 写在前面 网络与利器curl 1.源码 1.1下载 https://curl.haxx.se/download.htm ...
- (诛仙剑C-SKY)4-FrameBuffer
作者:cp 时间:2019-05-12 申明:本文一些素材取自网络,归原作者所有 写在前面 开发板提供了HDMI接口,一定要试试FB 1.环境 参见第一节"4.串口+HDMI", ...
- (诛仙剑C-SKY)3-NFS
作者:cp 时间:2019-05-10 申明:本文一些素材取自网络,归原作者所有 写在前面 为便于开发实际中经常使用NFS服务,这里分享一下在我的环境中配置NFS的方法,仅供参考 1.背景 校园网 开 ...
- 电影《诛仙Ⅰ》:“IP加流量的话”现在还可以行得通吗
<诛仙Ⅰ>(下文简称<诛仙>)由香港导演程小东执导,肖战.李沁.孟美岐等领衔主演.在这个夏天之前,鲜少人看好这部电影.虽然程小东曾执导过张国荣.王祖贤经典版的<倩女幽魂& ...
- 12月21诛仙服务器维护,诛仙手游正式服12月22日例行更新维护公告
为了给您提供更优质的游戏体验,<诛仙手游>[正式服]将于12月22日6:00-9:00进行例行停机更新维护.预计停机180分钟,如遇特殊情况,开机时间将会顺延.本次更新后,等级≥30级的玩 ...
- 最近用到ListView需要几人人物,于是整理了下以前看的玄幻小说人名,时间不够,只整理了几本,凑合用着 1》诛仙
诛仙 张小凡 陆雪琪 碧瑶 青云门 大竹峰 田不易 苏茹 田灵儿 宋大仁 吴大义 郑大礼 何大智 吕大信 杜必书 小灰 大黄 通天峰 道玄真人 万剑一 萧逸才 龙首峰 苍松道人 齐昊 林惊羽 朝阳峰 ...
- 梦幻诛仙linux系统游戏,梦幻诛仙我最懂,助你畅玩“诛仙奇缘”!
七载梦诛,御剑而归,<诛仙梦幻>手游即将开启全新版本的灰度精英删档测试啦,是不是想想心里还有点小激动呢?在游戏中,除了做任务升级,相信大家也非常喜欢一些放松好玩的小玩法,"诛仙奇 ...
最新文章
- EMR、EHR和PHR的定义与对比
- 最长重复子数组最长公共子序列不相交的线
- Bootstrap~多级导航(级联导航)的实现
- 查找文章中出现频率最高的单词
- LeetCode(1)——两数之和(JavaScript)
- 安卓:android.process.media意外停止解决方法
- Activity启动模式singleTask模式
- ISIS metric
- a-btest 数据挖掘_挖掘新的垂直鼠标-帮助我的腕管
- 【高中必修二】几何体
- android获取sdcard文件,android读取SDCard任意路径下的文件
- 图像处理工具包实现应用图像效果
- 迎新春 送温暖——郧阳小红花健康守护包发放
- 安装和配置zabbix-5.0.20
- 时间序列学习 经典案例(3)离散傅里叶变换DFT(案例:时序去噪)
- java调用扫描仪1
- html调用wrl,如何实现在网页里嵌入wrl文件
- 决策报表里使用延时函数实现某些js效果
- 这些超级好用的浏览器插件,还有很多人都不知道
- 深谈计算机网络互联技术论文,浅谈计算机网络技术对音乐发展的影响