前言

最近在了解GTK+-3.0界面开发相关,由于自身用的系统环境是windows,开个linux虚拟机来开发的话总归是麻烦了点,于是开始寻找 windows上快捷搭建 GTK+-3.0 编译环境的方法,在经过尝试后,大概有三种办法,下面会对这些方法进行详细介绍。

msys2

第一种方法便是是使用 msys2 跨平台编译环境,安装 mingw32 直接在控制台中使用命令对 GTK+-3.0 工程进行编译,基于 msys2 的 mingw32 编译环境的具体搭建方法可以参考我之前的文章:
https://magicdmer.site/783.html

当我们搭建完环境后,打开 mingw32 环境安装 GTK+-3.0 开发库,如下

Administrator@MRROBOT-PC MINGW32 ~
# pacman -Ss gtk3     //查询安装包
mingw32/mingw-w64-i686-gtk3 3.24.23-1 [已安装]
...

Administrator@MRROBOT-PC MINGW32 ~
# pacman -S mingw-w64-i686-gtk3

Administrator@MRROBOT-PC MINGW32 ~
# pacman -S mingw-w64-i686-pkg-config

接着我们新建一个 GTK+-3.0 源码文件 main.c

#include <stdio.h>
#include <gtk.h>

int main()
{
    gtk_init(NULL);
    ......
    gtk_main();
}

然后使用下面的命令进行编译

gcc main.c `pkg-config --cflags --libs glib-2.0 gtk+-3.0` -o helloword

这种方法就是比较原始的方法了,但是我们后续的方法都是基于这个 msys2的mingw32 环境来展开的

msys2 + visualstudio + visualgdb

这种办法就是使用IDE了,要比上面的方法方便太多,这里最主要的是这个 visualgdb ,这是个vs的跨平台开发插件,是收费的。所以如果你要使用的话,可能需要去找个特别版本,网上可以搜到。

我们下载 visualgdb 安装后,新建工程,如图

因为我们讲述的是在windows上开发gtk3,所以我们选择 MingGW 工程,它也支持远程创建linux工程,本地修改代码后自动同步到linux机器进行编译调试,暂且不表

后续的设置如图所示


Toolchain选项需要设置成你安装 msys32 的位置

然后工程新建完毕,我们在工程上右键,选择 VisualGDB 设置,设置如下:

为了方便大家拷贝(这也是这种方法麻烦的地方),这里发一下参数:

include: E:\msys32\mingw32\include E:\msys32\mingw32\include\gtk-3.0 E:\msys32\mingw32\include\glib-2.0 E:\msys32\mingw32\lib\glib-2.0\include E:\msys32\mingw32\include\pango-1.0 E:\msys32\mingw32\include\cairo E:\msys32\mingw32\include\gdk-pixbuf-2.0 E:\msys32\mingw32\include\atk-1.0

lib: gtk-3.dll glib-2.0 gio-2.0 gdk-3.dll cairo atk-1.0.dll pango-1.0.dll gobject-2.0

然后大家就可以愉快的开发的! 这种方法相对于第一种方法要简单,但是我依旧感觉每次新建工程都要配置一堆参数是很蛋疼的事情,所以我接着寻找

msys2 + codeblocks (推荐)

下载地址:http://www.codeblocks.org/downloads/binaries
这个方法是我推荐的方法,超级简单,首先我们配置一下编译器
Settings — compiler

然后需要做的就是自定义一个 gtk+-3.0 的工程向导模板,因为自带的只有 gtk+-2.0 的,如图:

如图,这个 GTK+-3.0 project 是我自定义的工程模板,新建完后工程如下:

这个默认的 main.c 也是我自定义的模板,大家可以自行修改,模板文件如下:
gtk3-wizard (点我下载)
然后解压后放到 codeblock 的 wizard 目录,我的是
C:\Program Files\CodeBlocks\share\CodeBlocks\templates\wizard
然后修改该目录下的 config.script 文件,注册我们的工程模板

RegisterWizard(wizProject,     _T("gtk3"),         _T("GTK+-3.0 project"),      _T("GUI"));

然后启动 codeblocks 新建工程就可以看到我们的工程模板了,在这个界面是可以右键对模板进行修改的,修改后后续可以随时右键恢复。如果没有出现模板,那么请在这个新建界面右键编辑全局文件,IDE会打开 config.script 文件让我们修改,修改完后重启 codeblocks 即可
这种方式感觉是最好的方法,linux上也可以使用它进行gtk+-3.0开发

总结

上面就是三种在windows上搭建gtk+-3.0工程编译环境的方法,除了这三种之外,还有其他的,比如 vscode+cmake 的方式,由于文章太长了就不写了,大家可以自行去搜索了解

0
赞赏

微信赞赏支付宝赞赏