您的当前位置:首页>全部文章>文章详情

【Go】gotk3安装配置

CrazyPanda发表于:2024-06-07 22:14:08浏览:350次TAG:

转载:https://www.jianshu.com/p/44cf93054ca7

gotk3是gtk+3的一个Go绑定,在windows下安装起来比较麻烦。本教程主要讲解gotk3的安装配置。

测试环境:GoLand + msys2 + Win10

安装MSYS2

去官网https://www.msys2.org/下载msys2安装包,本教程使用的是64位版本。安装时请确保安装目录不包含空格,可以使用默认路径,我使用的目录为D:\msys64。    安装完成后修改pacman配置,添加国内源:

  1. 修改/etc/pacman.d/mirrorlist.mingw32文件,在开头添加

Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686

修改后如下所示:

##
## 32-bit Mingw-w64 repository mirrorlist
##
## Primary
## msys2.org
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686 
Server = http://repo.msys2.org/mingw/i686/
Server = https://sourceforge.net/projects/msys2/files/REPOS/MINGW/i686/
Server = http://www2.futureware.at/~nickoe/msys2-mirror/mingw/i686/
Server = https://mirror.yandex.ru/mirrors/msys2/mingw/i686/
  1. 编辑/etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加

Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64
  1. 编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加

Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch

然后打开D:\msys64\msys2.exe,执行 pacman -Sy 刷新软件包数据即可。

安装MinGW和GTK

打开msys2.exe,执行以下命令:

pacman --noconfirm -S mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-pkg-config mingw-w64-x86_64-gtk3

安装完成后,将D:\msys64\mingw64\bin添加到环境变量中。

测试

新建项目,然后安装gotk3

go get github.com/gotk3/gotk3/gtk
工程如下图所示:

6141703-f66541addc22f771.webp
工程

运行程序,第一次编译略慢。

$ go build main.go

注意:出现invalid flag in pkg-config --libs: -Wl,-luuid类似错误时,运行以下指令(注意修改成正确路径)。

bash -c "sed -i -e 's/-Wl,-luuid/-luuid/g' D:/msys64/mingw64/lib/pkgconfig/gdk-3.0.pc"
运行结果为:


6141703-f66541addc22f771.webp


猜你喜欢

【Go】Go语言介绍
文章目录语法简单并发模型内存分配垃圾回收静态链接标准库工具链Go 起源Go 是编译型语言功能特点Go 语言特性Go有什么优势Go语言创始人参考文档Go 起源Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是兼具 Python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性。Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言
发表于:2024-02-25 浏览:456 TAG:
【Go】使用Go语言创建WebSocket服务器和客户端
WebSocket 是一种新型的网络通信协议,可以在 Web 应用程序中实现双向通信。在这篇文章中,我们将介绍如何使用 Go 语言编写一个简单的 WebSocket 服务器。首先,我们需要使用 Go 的 net/http 包创建一个 HTTP 服务器。在这个服务器中,我们将创建一个用于处理 WebSocket 连接的函数 handleWebSocket。在该函数中,我们将使用 gorilla/websocket 包来处理 WebSocket 连接。goCopy code package
发表于:2024-02-29 浏览:343 TAG:
【Go】Golang标准库介绍(五)
1. runtime库 ( 运行时接口)在 Go 语言的标准库中,runtime 包提供了与 Go 运行时系统交互的功能。这个包包括了一些控制和查询运行时状态的函数,如协程控制、垃圾回收、程序退出等。常用的函数:Gosched 函数: 让出处理器给其他 goroutine 执行,以便调度器能够有效地分配时间给不同的 goroutine。 Go 函数: 用于启动一个新的 goroutine。 NumCPU 函
发表于:2024-03-05 浏览:295 TAG:
【Go】Go语言的特点和优势
Go语言是一种开源的编程语言,它在2009年由Google开发并在2012年正式发布。Go语言的主要设计目标是提供一种简单有效的方法来构建简单、可靠、高效的软件。 Go语言的主要特点和优势包括: 静态类型:Go语言是一种静态类型的语言,这意味着所有变量在编译时就必须确定其数据类型。 自动垃圾回收:Go语言具有自动的垃圾回收机制,这意味着开发者不需要手动管理内存。 并行进程:Go语言支持并行进程,这使得开发者可以利用多核处理器的优势来编写并发程序。&nbs
发表于:2024-07-01 浏览:304 TAG:
【Go】Golang如何有效地操作数组数据
Go语言是一种强大且高效的编程语言,它支持多种数据结构,其中包括数组。在Go语言中,数组是一种固定长度、相同类型元素的数据结构。通过正确使用数组方法,可以更有效地操作数组数据。本文将重点介绍如何在Go语言中使用数组方法来操作数组数据,并提供具体的代码示例。1. 声明数组在Go语言中,声明数组的语法如下:var arr [5]int // 声明一个包含5个整数的数组登录后复制2. 初始化数组可以通过以下方式来初始化数组:arr := [5
发表于:2024-03-22 浏览:289 TAG:
【Go】Go语言常用标准库
前言随着计算机科学的迅猛发展,编程语言也在不断涌现。在这个多样化的编程语言生态系统中,Go语言凭借其简洁、高效、并发支持等特性逐渐崭露头角。作为一门开源的静态编程语言,Go语言自带了丰富的标准库,为开发者提供了强大的工具和功能。本文将深入介绍Go语言几种标准库,帮助读者更好地了解和利用这些库,提高编程效率。几种库bufio(带缓冲的 I/O 操作)在Go语言的标准库中,bufio(buffered I/O)库提供了带缓冲区的输入输出功能,用于提高读写效率。它通过在输入输出流上添加缓冲区,减少了频
发表于:2024-02-29 浏览:289 TAG:
【Go】golang六个常用的web 框架
1 Gin 68.5k starsGin是一个轻量级的高性能的Web框架,具有快速、高效、易用等特点,可以用于快速构建RESTful API和Web应用程序。它采用了类似于Martini的API设计,但性能更好。Gin具有以下优点:- 性能高:Gin采用了基于radix树的路由实现,可以快速匹配URL和处理请求,性能非常高。- 功能丰富:Gin提供了丰富的中间件支持,可以方便地进行路由、参数解析、日志记录等操作。- 易于学习:Gin的API设计简洁明了,易于学习和使用。缺点:- Gin的文档相对
发表于:2024-03-09 浏览:372 TAG:
【Go】Golang标准库介绍(三)
1. image库 (常见图形格式的访问及生成)在 Go 语言的标准库中,image 包提供了对图像的基本操作和处理功能。这个包定义了 Image 接口和一些基本的图像类型,同时也包含了一些实现了该接口的具体类型,如 image.RGBA 和 image.Gray。关键概念和类型:1. Image 接口: 定义了图像的基本操作,包括获取像素值、设置像素值等。 2. RGBA 类型: 表示一个带有红、绿、蓝和透明度通道的图像。 3.&nb
发表于:2024-03-04 浏览:361 TAG:
【Go】Golang标准库介绍(二)
1. debug 库 (各种调试文件格式访问及调试功能在 Go 语言的标准库中,并没有一个名为 debug 的独立库。然而,Go 提供了一系列的工具和包,用于调试和性能分析。这些工具和包包括 debug/pprof、runtime/pprof、net/http/pprof 等,用于生成和分析性能剖析数据。相关的包和工具:1. runtime/pprof: 提供了运行时性能分析的功能,可以用于查看 CPU 和内存的使用情况。它通过在代码中插入特殊的语句来收集
发表于:2024-03-03 浏览:273 TAG:
【Go】golang能写桌面吗
本教程操作环境:windows10系统、go1.20.1版本、Dell G3电脑。Golang是一种编程语言,被广泛用于开发后端应用程序和网络服务。它以其强大的并发性能和简洁的语法而闻名,但是很多人问:Golang能否用于桌面应用程序的开发呢?答案是肯定的,Golang是完全可以用于桌面应用程序开发的。虽然它最初被设计用于构建服务器端应用程序,但由于其出色的性能和跨平台的特性,它也被广泛应用于桌面应用程序的开发。Golang提供了一组强大的标准库,其中包含用于图形界面和用户界面 (GUI) 开发
发表于:2024-06-06 浏览:284 TAG: