侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

如何在 ubuntu linux 上配置 go 语言的 qt 开发环境

linux  /  管理员 发布于 7年前   405

go语言是开发效率极高、运行速度也接近C程序的现代编程语言,qt是跨平台的优秀gui库,二者结合起来工作表现非常优秀。本文讲的有两个事情,第一个是安装go语言的qt绑定包,第二个是安装go语言的集成开发环境。

安装github.com/therecipe/qt包

本段介绍的是如何安装和配置github.com/therecipe/qt开发包,这是一个非常优秀的qt库的go语言绑定,它非常强大,完美支持QT的信号槽机制,而且它的API完全模仿C++,所以你可以直接参考官方的QT C++文档。

我介绍的配置方法是绑定系统环境的qt库,而不是按照默认安装方式那样使用作者提供的qt库,这样做的好处是编译后的程序占用硬盘比较小,否则最小的程序体积都要超过30M。

第一步、下载github.com/therecipe/qt的源代码

此处假定你已经安装了go编译器,不再介绍怎么安装它了。因为github.com/therecipe/qt这个包必须在GOPATH模式下安装和配置,众所周知我们国内访问github速度实在太慢,所以如果直接用go get命令自动下载安装基本是行不通的。我用码云帐号fork了这个包,所以我们可以从这个地址用git clone命令下载:https://gitee.com/rocket049/qt。具体操作如下:

gitmkdir -p $(go env GOPATH)/src/github.com/therecipecd $(go env GOPATH)/src/github.com/therecipegit clone --depth 1 https://gitee.com/rocket049/qt

第二步、在ubuntu中安装qt的开发库

用apt命令下载所有的qt开发库,只需要运行下面的命令:

sudo apt-get --no-install-recommends install libqt*5-dev qt*5-dev qml-module-qtquick-* qt*5-doc-html

第三步、编译开发工具套件

只需要运行下面的命令:

go get -v -tags=no_env github.com/therecipe/qt/cmd/...

第四步、编译绑定编辑${HOME}/.bashrc,在其中添加2行:

export QT_PKG_CONFIG=true
#下面的是ubuntu18.04的QT_API版本,如果ubuntu版本不同,你应该自己查看你系统里的qt版本,然后填入相应的版本号
export QT_API=5.9.0

查看qt版本的方法是:运行apt-cache show libqt5core5a,找到你的qt版本号,注意QT_APT版本号的最后一位就写0,不要照抄qt版本号。

  • 运行命令导入.bashrc:. .bashrc,或者重新打开终端。
  • 运行安装命令:$(go env GOPATH)/bin/qtsetup。因为qt库是非常庞大的,编译很费时间,请耐心等待,只要成功完成了install这一步就好了,后面的test过程可以直接CTRL-C结束(而且有些测试程序无法编译通过,因为最新版本有少许API发生了变化),不影响使用。

安装liteide集成开发环境

我的体验过vim、vscode、liteide三种开发环境,结论是liteide是最好的,为此我还给liteide的作者付了钱,非常感谢作者“七叶”。github上的项目地址是:https://github.com/visualfc/liteide,他的主页是:http://liteide.org/。

为什么我说它最好,就因为在使用github.com/therecipe/qt这个开发包的时候它表现得最好,这个包非常庞大,但是使用liteide编程时,自动提示非常迅速,基本没有延迟,然而使用其他两个编辑器的时候,显示提示信息时都有明显的停顿,vim的表现尤其差,这是因为它现在只能使用新的gopls作为提示信息的后台程序,然而它性能非常差。

安装liteide非常简单,我们就从作者提供的下载地址选一个最快的下载,然后解压缩到/opt目录,然后做一个启动器在桌面上就可以用了,具体方法如下:

把下载的压缩包解压缩到/opt

cd /opt
sudo tar xvfz /你的/保存/路径/liteide-xxx.tar.gz

编辑启动器,在桌面建立文件liteide.desktop,然后用编辑器打开,输入下面的内容:

[Desktop Entry]Version=1.0Type=ApplicationTerminal=falseIcon=/opt/liteide/share/liteide/welcome/images/liteide128.xpmExec=/opt/liteide/bin/liteideName=LiteideComment=Lite ide

然后赋予它启动权限,在桌面打开终端,输入赋权命令:chmod +x liteide.desktop

到这里本文就结束了,感谢耐心阅读。

到此这篇关于如何在 ubuntu linux 上配置 go 语言的 qt 开发环境的文章就介绍到这了,更多相关 ubuntu go 语言 qt 开发环境内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


  • 上一条:
    CentOS7运行.sh脚本提示syntax error: unexpected end of file的解决方法
    下一条:
    .Net Core WebApi部署在Linux服务器上的方法
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Linux系统中使用Iptables实现流量转发功能流程步骤(0个评论)
    • vim学习笔记-入门级需要了解的一些快捷键(0个评论)
    • 在centos7系统中实现分区并格式化挂载一块硬盘到/data目录流程步骤(0个评论)
    • 在Linux系统种查看某一个进程所占用的内存命令(0个评论)
    • Linux中grep命令中的10种高级用法浅析(0个评论)
    • 近期文章
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2017-07
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-03
    • 2022-04
    • 2022-08
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-06
    • 2023-07
    • 2023-10
    • 2023-12
    • 2024-01
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客