![a29830570d0abf7df17bb0b6289e3050.png](https://i-blog.csdnimg.cn/blog_migrate/e8d428e5ea3e94fef2c0d7e9a1a65e47.jpeg)
前言
只所以说是新酒老瓶而不是新瓶老酒是有用意的。
因为QT是器,老瓶,出来时配合着C++的。而如今go来势凶凶,自然英雄所见略同。
两大开源神器,跨平台开发,终将双剑合璧了,让你如虎添翼。
过程记录
安装QT
参考指导:
https://www.cnblogs.com/haijian/p/12417129.html
本人使用/usr/local/qt为QTDIR。版本是5.12.10
安装go
参考指导:
https://blog.csdn.net/icanx/article/details/91438450
配置go env国内源
liteide源码编译安装
参考指导:
https://www.cnblogs.com/7explore-share/p/5838281.html?utm_source=debugrun&utm_medium=referral
出现了模板路径报错,于是使用tarena环境,但是root账户,先安装两个包,再改脚本后,编译方成功。https://www.cnblogs.com/liaojiafa/p/12798025.html
折腾了很久的Liteide整出一个重要原则:GO111MODULE这个开关有两个作用:1)on时,让你启用国内源来go get和go install2)on时,他会严格使用GOPATH和严格管理其它非GOPATH的目录,除非使用go mod init <自定义子模块名>
针对windows平台
在此时需要安装mingw64做为前提,不然liteide就是水土不服的。
mingw64实是难搞,换了几个工具,如mingw installation manager,最后用mingw-w64-install.exe 启动后选择版本,posix和seh,这就生成了安装目录。 在安装过程中,把此前下载的源码包压缩包“mingw-w64-v8.0.0.zip”重新命名为“x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z”,放置在默认的目录中“x86_64-8.1.0-posix-seh-rt_v6-rev0” 最后,把安装的路径 C:Program Filesmingw-w64x86_64-8.1.0-posix-seh-rt_v6-rev0mingw64bin 放到系统环境变量中。万事大吉。gcc,g++一应具全,随处可用。
GO111MODULE在windows上是没有auto可设置的,即便你使用liteide设置了,但go env中实际还是当它为on。
所以,系统底层仍设置为on,GOPATH目录内的源码编译成功,无论是否有go.mod。但要是GOPATH目录外的拥有go.mod文件(这是通过go mod init src生成的)可以编译成功。
当设置为off时,同时也得让GOPROXY为空,这时GOPATH和有go.mod的外部目录都可在命令行编译成功。所以,建议你还是使用命令行吧,因为,同一代码在命令行和liteide中结果不同,并且,保持on状态,保持代码不在GOPATH中。相信,go的发展也是会弃掉它。
针对linux平台
GO111MODULE可以被liteide设置成auto.
这样设置的好处是模糊使用GOPATH(任何设置都OK)。而无论要编译的源码在任何目录都可以,且不用设置go.mod。
前台qt后台go起步
参考指导:
环境:https://github.com/therecipe/qt/wiki
therecipe/qt包的安装
先go get -u -v 不行就先下载,然后改名适配到代码中包引用的相应GOPATH中,然后再安装命令工具即cmd中的...。
重要是认清go get的本质就是一种git clone的包装。
go install /home/tarena/code4DN/learn_gopath/src/github.com/therecipe/qt/cmd/...
不出意外是报错的,但看下面的解决问题内容。
解决go端的环境的问题
https://blog.csdn.net/wzw_mzm/article/details/77618922
出现“找不到 http://golang.org/x/mod/module”问题,后来手工下载了http://golang.org/x/下面系列仓库,就是 git clone.
git clone https://github.com/golang/mod.git
git clone https://github.com/golang/xerrors.git
这是两个新加入的,一般没有它,已经可以运行demo.
![f8a9ae290806e0f5adc797d9454e5825.png](https://i-blog.csdnimg.cn/blog_migrate/e108b40b5fd2bdc1679ae7f042753055.jpeg)
原始网上下载运行demo的命令如下,
go get -ldflags="-w" github.com/therecipe/examples/basic/widgets && $(go env GOPATH)/bin/widgets
它会直接运行一个弹出窗口,相应后台的操作是拷贝了代码并编译放在GOPATH/bin中,再运行。
本人已经下载过therecipe/qt包了,就是对应GOPATH下的
http://github.com/therecipe/examples/basic/widgets/main.go
解决QT端的环境问题
以上集齐了龙珠。这里是锦上添花,因为,要充分使用QT的伎俩,就需要一套工具。
这时再次执行命令
go install /home/tarena/code4DN/learn_gopath/src/github.com/therecipe/qt/cmd/...
命令成功使用之后
![a10bc33e7832271aecaa8967abe9ee40.png](https://i-blog.csdnimg.cn/blog_migrate/41ffd8f16eb618015f244d1bbd7b6b50.jpeg)
goqtuic的安装
go get -u -v github.com/stephenlyu/goqtuic
事实上没有这些工具也可以运行demo或QT库的代码。只要thericipe/qt包具备了就行。
如果要调试或用其它QT版本,有几个需要的环境变量比如QT_DIR。
有时go get不成就用下载后放到http://github.com目录中的方式来。