Windows下安装和配置GTK4(基于CLion)

简介: 本文介绍了作者选择GTK作为C语言图形库的原因,包括代码简洁、控件丰富和界面美观,并分享了在Windows环境下通过MSYS2安装GTK4及在CLion中配置开发环境的详细步骤。

最近我在寻找C语言图形库,包括openGL,easyX,graphics 等,在层层筛选后我选择了一个相对(很)冷门的图形库———GTK。选择它的原因有以下几点:

  • 代码简洁。

从官方给出的示例来看:


#include <gtk/gtk.h>

static void on_activate (GtkApplication *app) {

  // Create a new window

  GtkWidget *window = gtk_application_window_new (app);

  // Create a new button

  GtkWidget *button = gtk_button_new_with_label ("Hello, World!");

  // When the button is clicked, close the window passed as an argument

  g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_close), window);

  gtk_window_set_child (GTK_WINDOW (window), button);

  gtk_window_present (GTK_WINDOW (window));

  }

  int main (int argc, char *argv[]) {

  // Create a new application

  GtkApplication *app = gtk_application_new ("com.example.GtkApplication",G_APPLICATION_FLAGS_NONE);

  g_signal_connect (app, "activate", G_CALLBACK (on_activate), NULL);

  return g_application_run (G_APPLICATION (app), argc, argv);

  }

确实比较简洁地写出了一个窗体(相较于WindowsAPI)。

  • 有完善的控件

这也是选择它的重要原因,像openGL这种虽然也能很容易的写窗体,但是本身没有对控件的支持,所以out。

  • 界面美观

不多做解释,直接放图。

因为这个库有点冷门,所以我打算持续分享我的学习历程,以供大家学习。所以这个连载文章周期可能会很长,如有错误,敬请在评论区指正,谢谢!

安装GTK4

首先根据官方文档,我们安装MSYS2这个软件,官方介绍是:


此方法基于由MSYS2提供的包,它为 Windows 提供了一个类似 UNIX 的环境。这两个仓库还提供了大量其他有用开源库的包。

This method is based on the packages provided by MSYS2, which provides a UNIX-like environment for Windows. Both of these repositories also provide packages for a large number of other useful open source libraries.

安装完成后我们打开图中框选的程序。

这会打开一个类似于命令行的窗口,如图:

这时我们可以运行以下几个命令来安装所有需要的包:


pacman -S mingw-w64-ucrt-x86_64-gtk4


pacman -S mingw-w64-ucrt-x86_64-toolchain base-devel

执行第二个命令时会出现选择,我们直接回车就好了(默认all)

安装完成后我们打开MSYS2安装目录,将ucrt64目录下的binincludelib文件夹以及usr目录下的bin文件夹添加到系统环境变量的Path中:

在CLion中配置GTK

首先将构建、执行、部署 -> 工具链MinGW工具集路径改为MSYS的ucrt64路径,如图:

接下来在CMakelist.txt后加上(请将test改为你的项目名)

find_package(PkgConfig REQUIRED)

pkg_check_modules(GTK4 REQUIRED gtk4)

include_directories(${GTK4_INCLUDE_DIRS})

link_directories(${GTK4_LIBRARY_DIRS})

target_link_libraries(test ${GTK4_LIBRARIES})

如图:

并重新加载CMake。

现在,配置已经完成了,我们尝试编写一下代码(官方示例):


#include <gtk/gtk.h>

static void on_activate (GtkApplication *app) {

  // Create a new window

  GtkWidget *window = gtk_application_window_new (app);

  // Create a new button

  GtkWidget *button = gtk_button_new_with_label ("Hello, World!");

  // When the button is clicked, close the window passed as an argument

  g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_close), window);

  gtk_window_set_child (GTK_WINDOW (window), button);

  gtk_window_present (GTK_WINDOW (window));

  }

  int main (int argc, char *argv[]) {

  // Create a new application

  GtkApplication *app = gtk_application_new ("com.example.GtkApplication",

                                             G_APPLICATION_FLAGS_NONE);

  g_signal_connect (app, "activate", G_CALLBACK (on_activate), NULL);

  return g_application_run (G_APPLICATION (app), argc, argv);

  }

没错,就可以运行了。

相关文章
|
1月前
|
Ubuntu Unix Linux
在Windows上轻松安装和使用Ubuntu的方法详解
继续点击“Continue”按钮以继续安装流程,随后选择清理磁盘并安装操作系统的选项。 接下来,在安装过程中,你需要选择时区。为了与你的地理位置相匹配,请选择中国上海作为你的时区设置。 在安装过程中,你还需要设置计算机的名称以及账号密码。请务必牢记这些信息,因为它们将作为你登录系统的凭证。
|
1月前
|
Windows
Windows无法连接到打印机,请检查打印机名并重试 - 配置Windows 共享打印机出错;
WIN7共享打印机无法被WIN11连接,出现错误代码0x0000011b或0x00000709,可能是系统版本不兼容所致。本文提供多个轻量级修复工具,无需安装,双击即用,专为解决此类小问题设计,操作简单,适合普通用户快速修复打印机连接异常。
373 0
|
2月前
|
网络安全 Windows
Windows IIS 10如何配置自签名SSL并实现自动跳转
本文记录了IIS配置自签名证书及HTTPS跳转的注意事项。包括解决443端口占用问题、URL Rewrite插件安装与配置、web.config修改方法,以及避免因旧教程导致的配置错误。
Windows IIS 10如何配置自签名SSL并实现自动跳转
|
1月前
|
Ubuntu Linux 数据安全/隐私保护
Windows上快速安装Linux子系统Ubuntu
Installing, this may take a few minutes...WslRegisterDistribution failed with error: 0x800701bcError: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernelPress any key to continue... 原因是 wsl1 升级到 wsl2 之后,内核却没有升级。 解决:下载最新的wsl安装包(wsl安装包)
|
2月前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
105 2
|
2月前
|
运维 Linux 虚拟化
VMware虚拟机安装教程,Windows下安装VMware虚拟机,附VMware下载,Windows各版本系统镜像下载
虚拟机技术允许一台物理机运行多个操作系统,提升资源利用率,节省成本。通过快照、克隆等功能,实现系统快速恢复与复制,提高运维效率。本文详细介绍VMware虚拟机的安装步骤、Windows镜像下载及系统安装激活流程,适合初学者快速入门。
654 0