go GTK msys2

1 下载安装msys2

MSYS2 (Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境。同时它也是一个在Cygwin (POSIX 兼容性层) 和 MinGW-w64(从”MinGW-生成”)基础上产生的,追求更好的互操作性的 Windows 软件。

官方网址:http://www.msys2.org/
这里写图片描述

百度云下载地址:https://pan.baidu.com/s/1kWOBbBD

默认配置安装即可:
这里写图片描述

这里写图片描述

运行msys2:
这里写图片描述

2 安装所需软件

注意:在msys2命令行下安装。

1) 安装gtk3

pacman -S mingw-w64-x86_64-gtk3
  • 1

这里写图片描述

输入“y”确定安装:
这里写图片描述

这里写图片描述

2) 安装gtk2

pacman -S mingw-w64-x86_64-gtk2
  • 1

这里写图片描述

3) 安装glade

pacman -S mingw-w64-x86_64-glade
  • 1

这里写图片描述

4) 安装帮助文档

pacman -S mingw-w64-x86_64-devhelp
  • 1

这里写图片描述

5) 安装MinGW

pacman -S mingw-w64-x86_64-toolchain base-devel
  • 1

这里写图片描述

这里写图片描述

3 配置环境变量

C:\msys64\usr\bin
C:\msys64\mingw64\bin
  • 1
  • 2

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

测试是否成功:

pkg-config --cflags gtk+-2.0
make -v
  • 1
  • 2

这里写图片描述

这里写图片描述

4 编译运行demo

go源码下载地址:https://pan.baidu.com/s/1kWOBbBD

注意:一定要下载这里的源码,后面的教程中,我修改了部分源码。

4.1 配置GOPATH

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

4.2 运行官方自带example

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

参考资料

1、https://github.com/mattn/go-gtk

阅读更多

 
Python正确的学习路线,你一定不知道的薪资翻倍秘诀

如何从8K提至20K月薪,你要掌握学习那些技能

想对作者说点什么? 我来说一句
  • weixin_42647075
    weixin_42647075: 我现在卡在了环境配置好后,显示是这样: go build github.com/mattn/go-gtk/gio: invalid flag in pkg-config --libs: -Wl,-luuid go build github.com/mattn/go-gtk/gdk: invalid flag in pkg-config --libs: -Wl,-luuid 各位大佬们,这是怎么折腾啊?(07-09 14:09#3楼)查看回复(3)举报回复
    • mr_ccj
      mr_ccj回复 飞剑神: 我发现不行啊,执行pkg-config --cflags gtk+-2.0 就报错了,说什么找不到(08-17 18:09)举报回复
    • weixin_42647075
      weixin_42647075回复 飞剑神: 谢谢啦!勉强解决了,虽然不知所云哈哈哈哈(07-14 10:56)举报回复
    • wrzfeijianshen
      飞剑神回复 weixin_42647075: 小伙子,你go版本太高了,1.9.2左右的可以(07-09 15:16)举报回复
  • weixin_40384951
    LightBringer_zyx: [code=plain] F:\gofile\go\src>pkg-config --cflags gtk+-2.0 -mms-bitfields -I/mingw64/include/gtk-2.0 -Ic:/devel/target/48d6e6a341fea05 9619c49d66f6/include/gtk-2.0 -Ic:/devel/target/48d6e6a341fea05855999619c49d lib/gtk-2.0/include -Ic:/devel/target/bafe2c95df134ccce0f7fb71da2332ed/incl ango-1.0 -Ic:/devel/target/4d0add2a6f7c8ee39d34a3af8b451d08/include/atk-1.0 /devel/target/1187c76b5bdd041823eecfa0050878e8/include/cairo -Ic:/devel/tar 493b452bbfa5d51518746a6d569df80/include/pixman-1 -Ic:/devel/target/711c49bd 2a939ee9ef96ca900d3/include -Ic:/devel/target/895975facc6ebc4ed857e97878b6d nclude/freetype2 -Ic:/devel/target/895975facc6ebc4ed857e97878b6d3a5/include /devel/target/ab605b0e70119f93a0fa52114f734660/include/libpng14 -Ic:/devel/ t/d4846d031bd12a9a513e7500f80db6a9/include/gdk-pixbuf-2.0 -Ic:/devel/target 53982d89c085a8fdcb5c805c32c5/include/glib-2.0 -Ic:/devel/target/e12b53982d8 a8fdcb5c805c32c5/lib/glib-2.0/include F:\gofile\go\src>make -v GNU Make 4.2.1 Built for x86_64-pc-msys(05-22 17:27#2楼)举报回复
  • weixin_40384951
    LightBringer_zyx: 为什么我安装成功后,运行代码显示缺少.h文件呢
    [python] view plain copy
     
    print?
    1. # github.com/mattn/go-gtk/pango  
    2. In file included from github.com\mattn\go-gtk\pango\pango.go:5:0:  
    3. ./pango.go.h:7:10: fatal error: pango/pango.h: No such file or directory  
    4.  #include <pango>  
    5.           ^~~~~~~~~~~~~~~  
    6. compilation terminated.  
    7. # github.com/mattn/go-gtk/glib  
    8. In file included from github.com\mattn\go-gtk\glib\glib.go:5:0:  
    9. ./glib.go.h:4:10: fatal error: glib.h: No such file or directory  
    10.  #include <glib>  
    11.           ^~~~~~~~  
    12. compilation terminated.  
    13.   
    14. </glib></pango>  
    # github.com/mattn/go-gtk/pango
    In file included from github.com\mattn\go-gtk\pango\pango.go:5:0:
    ./pango.go.h:7:10: fatal error: pango/pango.h: No such file or directory
     #include 
              ^~~~~~~~~~~~~~~
    compilation terminated.
    # github.com/mattn/go-gtk/glib
    In file included from github.com\mattn\go-gtk\glib\glib.go:5:0:
    ./glib.go.h:4:10: fatal error: glib.h: No such file or directory
     #include 
              ^~~~~~~~
    compilation terminated.
    
    
    (05-22 17:26#1楼)查看回复(1)举报回复
    • yuwg_le
      yuwg_le回复 LightBringer_zyx: 类似下面这样,设置一下环境变量
      [plain] view plain copy
       
      print?
      1. set C_INCLUDE_PATH=D:\tools\msys64\mingw64\include\pango-1.0\;D:\tools\msys64\mingw64\include\glib-2.0\;D:\tools\msys64\mingw64\lib\glib-2.0\include;D:\tools\msys64\mingw64\include\gdk-pixbuf-2.0\;D:\tools\msys64\mingw64\include\gtk-2.0\;D:\tools\msys64\mingw64\include\cairo;D:\tools\msys64\mingw64\lib\gtk-2.0\include\;D:\tools\msys64\mingw64\include\atk-1.0\  
      set C_INCLUDE_PATH=D:\tools\msys64\mingw64\include\pango-1.0\;D:\tools\msys64\mingw64\include\glib-2.0\;D:\tools\msys64\mingw64\lib\glib-2.0\include;D:\tools\msys64\mingw64\include\gdk-pixbuf-2.0\;D:\tools\msys64\mingw64\include\gtk-2.0\;D:\tools\msys64\mingw64\include\cairo;D:\tools\msys64\mingw64\lib\gtk-2.0\include\;D:\tools\msys64\mingw64\include\atk-1.0\
      
      (05-29 13:30)举报回复
  • 上一页
  • 1
  • 下一页
Go语言图形界面开发:GoGTK

tennysonskytennysonsky

02-08 23.6万

本人录制的Go入门视频 go语言开发实战:https://pan.baidu.com/s/1bqOR9qZ Go语言GUI编程:https://pan.baidu.com/s/13yoUhqEUy...

GTK+ 3 for windows 开发环境搭建

Libi_tLibi_t

10-05 4163

GTK+ 3 for windows 开发环境搭建下载和配置msys2: 从http://msys2.github.io/下载安装包,并安装; 配置软件源(官方源速度较慢) 需要修改安装目录下,/e...

GoGTK:常用控件—进度条

tennysonskytennysonsky

02-06 3.6万

我们到处都能看到进度条的应用,我们下载拷贝个文件,下载个电影等总能看到进度条的影子,如图: 示例代码: package main import ( &quot;fmt&quo...

GoGTK:一个简单的空白窗口

tennysonskytennysonsky

02-01 4.3万

1 示例代码 package main import ( &quot;os&quot; &quot;github.com/mattn/go-gtk/gtk&quot; ) f...

GoGTK:控件

tennysonskytennysonsky

02-02 1.1万

1 控件简介 控件是对数据和方法的封装。控件有自己的属性和方法。属性是指控件的特征。方法是指控件的一些简单而可见的功能。如按钮就是一个控件,这个按钮是方形的,里面有张图片,这是我们能看到外观属性,同...

GTK+ window环境的搭建

tennysonskytennysonsky

01-14 2468

1) 下载 gtk+-bundle 包( 可以去官网下载:http://www.gtk.org/ -> Download -> Windows (32-bit) and 64-bit -> All...

同事月薪三千开宝马, 原来是这样赚到钱的!翔灿咨询 · 顶新
 

转载于:https://www.cnblogs.com/lvdongjie/p/9520841.html

<think>好的,用户想了解如何在MSYS2环境下安装C语言GTK库。首先,我需要回顾一下之前提供的引用内容,特别是引用[1]、[2]、[3]和[5]中的相关信息。引用[1]和[2]提到了在MSYS2安装GTK3的步骤,比如使用pacman命令安装mingw-w64-x86_64-gtk3。而引用[3]和[5]则涉及到在Mac和Windows下配置GTK开发环境,可能有一些共通点。 用户的问题是针对C语言的,所以需要确保安装的库适用于C开发MSYS2的包管理工具是pacman,所以应该指导用户使用正确的包名。之前引用中提到的是mingw-w64-x86_64-gtk3,这应该是正确的包。但需要确认这个包是否包含C语言的头文件和库文件。 另外,用户可能需要安装编译工具链,比如gcc、make等。在MSYS2中,这些可能属于不同的组,比如mingw-w64-x86_64-toolchain。需要提醒用户安装这些基础工具。 还有,安装完成后,如何验证安装是否成功?可能需要编写一个简单的C程序,使用pkg-config来设置编译选项。引用[3]中提到了pkg-config的配置,可能需要指导用户如何设置环境变量或者确保pkg-config能找到GTK3的.pc文件。 可能的步骤包括:1. 更新MSYS22. 安装编译工具链;3. 安装GTK3库;4. 验证安装。另外,用户可能会遇到路径问题或者依赖项缺失,需要提示常见问题解决方法,比如确保MSYS2的环境正确,使用MINGW64终端而不是MSYS终端等。 需要检查是否有其他依赖包需要安装,比如GLib或其他GTK依赖项,但通常GTK3的包会处理这些依赖。此外,用户可能想知道如何编译和运行一个示例程序,所以提供一个简单的例子和编译命令会很有帮助。 最后,考虑到用户可能不熟悉MSYS2的环境,需要强调使用正确的终端(MINGW64)来执行命令,以及如何配置开发环境,比如在IDE中设置编译器路径和库路径。</think>### 在MSYS2环境下安装C语言GTK库的步骤 #### 1. 更新MSYS2系统 在MSYS2终端中运行以下命令更新软件包列表和系统组件: ```bash pacman -Syu ``` 如果提示关闭终端,重启MSYS2后重复执行`pacman -Su`直至系统完全更新[^1]。 #### 2. 安装编译工具链 安装C语言开发所需的工具链(gcc、make等): ```bash pacman -S mingw-w64-x86_64-toolchain ``` 选择全部默认安装(输入`all`后回车)[^1][^2]。 #### 3. 安装GTK3开发库 执行以下命令安装GTK3核心库及依赖: ```bash pacman -S mingw-w64-x86_64-gtk3 ``` 该命令会自动安装GTK3运行时库、头文件及pkg-config配置文件[^1]。 #### 4. 验证安装 创建测试文件`hello.c`: ```c #include <gtk/gtk.h> int main(int argc, char *argv[]) { gtk_init(&argc, &argv); GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "GTK3 Test"); g_signal_connect(window, "destroy", Gtk.main_quit, NULL); gtk_widget_show_all(window); gtk_main(); return 0; } ``` 使用以下命令编译: ```bash gcc hello.c -o hello.exe $(pkg-config --cflags --libs gtk+-3.0) ``` 成功编译后运行`./hello.exe`将显示空白窗口[^3][^4]。 #### 补充说明 - 开发时应使用**MINGW64终端**(开始菜单中的`MSYS2 MinGW 64-bit`) - 如果出现`pkg-config`路径问题,检查环境变量: ```bash export PKG_CONFIG_PATH=/mingw64/lib/pkgconfig ``` 可将该配置加入`~/.bashrc`文件[^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值