centos8下搭建gotk3(go语言gtk库) x86_64-w64-mingw32交叉编译环境
1. 配置软件源
- 本地源:
baseurl=file:///media/cdrom/BaseOS
baseurl=file:///media/cdrom/AppStream
- PowerTools 源:
baseurl=http://mirrors.aliyun.com/centos/$releasever/PowerTools/$basearch/os
- epel 源:
baseurl=http://mirrors.aliyun.com/epel/8/Everything/$basearch
- puias 源(包含mingw64-gtk3等dll库):
baseurl=http://46.17.45.37/puias/8.1/x86_64/os/AppStream/Packages
2. 安装编译工具
yum install -y mingw64-gcc
yum install -y mingw64-gcc-c++
yum install -y mingw64-glib2
yum install -y mingw64-gtk3 (版本号:3.22.30)
修改链接参数,否则会报错,执行
sed -i 's/-Wl,-luuid/-luuid/g' /usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig/gdk-3.0.pc
3. x86_64-w64-mingw32编译安装gotk3
PKG_CONFIG_PATH=/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig \
CGO_ENABLED=1 \
CC=x86_64-w64-mingw32-gcc \
GOOS=windows \
GOARCH=amd64 \
go install github.com/gotk3/gotk3/gtk
4. 编译代码
// main.c
package mainimport ("github.com/gotk3/gotk3/glib""github.com/gotk3/gotk3/gtk""os"
)func main() {const appId = "com.nayoso.example"app, _ := gtk.ApplicationNew(appId, glib.APPLICATION_FLAGS_NONE)app.Connect("activate", func() {onActivate(app)})app.Run(os.Args)
}func onActivate(application *gtk.Application) {appWindow, _ := gtk.ApplicationWindowNew(application)appWindow.SetTitle("Grid example")grid, _ := gtk.GridNew() //创建容器appWindow.Add(grid) //将容器添加到window中//创建一些按钮来展示grid的效果button1, _ := gtk.ButtonNewWithLabel("Button 1")button2, _ := gtk.ButtonNewWithLabel("Button 2")button3, _ := gtk.ButtonNewWithLabel("Button 3")//将buttons添加到grid中grid.Attach(button1, 0, 0, 1, 1) //参数:左,上,宽,高grid.Attach(button2, 1, 0, 1, 1)grid.Attach(button3, 0, 1, 2, 1)appWindow.ShowAll()
}
编译:
# If you do need a CMD window with your app's GUI (e.g. for easier user-side debugging),
# remove the -ldflags -H=windowsgui option.
PKG_CONFIG_PATH=/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig \
CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows GOARCH=amd64 \
go build -ldflags -H=windowsgui
5. windows安装gtk运行时环境:gtk3-runtime_3.22(最接近3.22.30的版本)
https://master.dl.sourceforge.net/project/gtkd-packages/gtk3-runtime/gtk3-runtime_3.22.4_64-bit.exe
将上一步生成的main.exe拷贝到Windows ,双击即可看到下面的界面
PS: centos8搭建nsis交叉编译环境,参见另一篇文章:https://blog.csdn.net/hbuxiaofei/article/details/105995059
centos8下搭建gotk3(go语言gtk库) x86_64-w64-mingw32交叉编译环境相关推荐
- centos8下搭建zabbix6.0监控系统
centos8下搭建zabbix监控 1.基础准备 2.搭建zabbix监控(server端) 一.安装软件包 二.mariadb配置 三.zabbix-server配置 四.浏览器访问web页面 3 ...
- linux 运行lua脚本语言,你知道在linux下搭建lua脚本语言的编程环境?
描述 lua是脚本语言的一种,具体的该脚本的介绍可百度,本文介绍Linux系统下搭建lua编程环境的步骤,以及在搭建过程中碰到的种种问题. 一.下载获取lua源码 地址http://www.lua.o ...
- centos7下搭建git和gitlab版本库
系统:centos7 安装依赖: yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-d ...
- kali系统搭建本地服务器,kali linux 下搭建git服务器
参考:http://www.cnblogs.com/dee0912/p/5815267.html https://www.liaoxuefeng.com/wiki/001373951630592960 ...
- C++多国语言插件库(适用QT/MFC)
简述: 此 库基于VS2015++ win10sdk 开发封装,用于QT/MFC平台下的多国语言切换库, 需结合poedit进行编辑语言资源,使用起来极为简单,支持中文简繁体: typedef enu ...
- Lisp语言: 在Windows下搭建CLisp环境
有关Clisp环境的搭建,有人反映说在Ubuntu上搭建很麻烦,对于习惯使用Windows环境的同学们来讲不方便,所以在这里添加一篇Windows下搭建CLisp环境的文章. 其实在Windows下搭 ...
- Eclipse下搭建C语言开发环境
Eclipse下搭建C语言开发环境 要使用Eclipse开发C/C++语言主要有 下面几个步骤: 1. 安装 JRE 去sun官方网站 下载安装即可 由于 Eclipse 本身是用 Java 开发的, ...
- Windows系统下搭建Git本地代码库
近由于工作需要,要把工作代码做一下版本管理.工作代码也不方便放到github上,也不想付费建私密库,公司也没几个人,所以就想着搭建一个本地Git版本库,来做版本管理.搭建过程如下. 系统环境:Dell ...
- windows 本地搭建git仓库_Windows系统下搭建Git本地代码库
近由于工作需要,要把工作代码做一下版本管理.工作代码也不方便放到github上,也不想付费建私密库,公司也没几个人,所以就想着搭建一个本地Git版本库,来做版本管理.搭建过程如下. 系统环境:Dell ...
最新文章
- 以SIGSEGV为例详解信号处理(与栈回溯)
- 大白话 + 13 张图解 Kafka
- 什么叫「人的格局」?是否有必要培养大的格局或怎么培养?
- 全国计算机等级考试题库二级C操作题100套(第64套)
- 一道C#类型转换的思考题
- Nginx-1.18.0主函数main思维导图(第一版)
- 深度学习笔记——生成模型
- Android自定义view之ViewPager指示器——2
- 网络_检测公网端口是否开启
- 《深入理解计算机系统(修订版)》读感
- java我的世界显示合成表_我的世界:若从你的背包移除“合成表”,回到5年前,最原始状态...
- 软件设计师历年真题及答案2009-2017
- python实现bt下载器_10行 Python代码使用磁力链接批量下载种子
- IEEE会议论文批量下载的方法
- 克隆加密狗和原加密狗_遥控钥匙和加密狗有什么区别?
- 中层管理者如何做好员工管理
- react18中使用react-hook-form
- python的endswith()的用法及实例
- 微信小程序登录+坐标定位显示km数
- 重置Windows打印机COM端口USB端口