第一部分:GTK安装

本文采用MSYS2的方式安装GTK,使用CLion IDE

安装MSYS2

下载地址:http://www.msys2.org/

 

在MSYS2的命令行安装GTK和MinGW

GTK

32位:pacman -S  mingw-w64-i686-gtk3
64位:pacman -S  mingw-w64-x86_64-gtk3

参考 <https://www.cnblogs.com/yunfeng83/p/7348311.html>

MinGW

32位:pacman -S mingw-w64-i686-toolchain base-devel

64位:pacman -S mingw-w64-x86_64-toolchain base-devel

参考<https://blog.csdn.net/tennysonsky/article/details/79221507>

 

设置Path(如果为32为则将32改为64)

新建MINGW_HOME

{安装目录}\msys2\mingw64

新建C_INCLUDE_PATH

%MINGW_HOME%\include

新建LIBRARY_PATH

%MINGW_HOME%\lib

变量Path中添加如下值

%MINGW_HOME%\bin

参考 <https://www.cnblogs.com/yunfeng83/p/7348311.html>

 

测试

新建cmd命令窗口,依次执行命令pkg-config gtk+-2.0 --cflagspkg-config gtk+-2.0 --libs,无误说明GTK+3环境配置成功

参考 <https://www.jianshu.com/p/324ef9c98968>

第二部分:配置CLion

首先,更改CLion的编译器为MSYS2中的MinGW,自行修改为32/64位

Windows下搭建CLion + GTK3环境新建工程,在CMakeLists.txt的最后追加gtk的头文件和库

FIND_PACKAGE(PkgConfig REQUIRED)
PKG_CHECK_MODULES(GTK3 REQUIRED gtk+-3.0)

INCLUDE_DIRECTORIES(${GTK3_INCLUDE_DIRS})
LINK_DIRECTORIES(${GTK3_LIBRARY_DIRS})

TARGET_LINK_LIBRARIES(gtk ${GTK3_LIBRARIES})

再用如下代码测试环境是否搭建正确

#include <gtk/gtk.h>

static void activate(GtkApplication *app, gpointer user_data) {
    GtkWidget *window;
    window = gtk_application_window_new(app);
    gtk_window_set_title(GTK_WINDOW(window), "Window");
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
    gtk_widget_show_all(window);
}

int main(int argc, char **argv) {
    GtkApplication *app;
    int status;
    app = gtk_application_new("org.gtk.example", G_APPLICATION_FLAGS_NONE);
    g_signal_connect(app, "activate", G_CALLBACK(activate), NULL);
    status = g_application_run(G_APPLICATION(app), argc, argv);
    g_object_unref(app);
    return status;
}

编译&运行。如果弹出如下窗口,恭喜,环境搭建成功。

Windows下搭建CLion + GTK3环境

如果提示-ldwmapi not found ,尝试参考<https://stackoverflow.com/questions/44911016/error-while-compiling-with-cmake-cannot-find-ldwmapi>  

相关文章: