1. 程式人生 > >Windows下搭建CLion + GTK3環境

Windows下搭建CLion + GTK3環境

第一部分:GTK安裝

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

安裝MSYS2

在MSYS2的命令列安裝GTK和MinGW

GTK

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

MinGW

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

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

設定Path(如果為32為則將32改為64)

新建MINGW_HOME

{安裝目錄}\msys2\mingw64

新建C_INCLUDE_PATH

%MINGW_HOME%\include

新建LIBRARY_PATH

%MINGW_HOME%\lib

變數Path中新增如下值

%MINGW_HOME%\bin

測試

新建cmd命令視窗,依次執行命令pkg-config gtk+-2.0 --cflagspkg-config gtk+-2.0 --libs,無誤說明GTK+3環境配置成功

第二部分:配置CLion

首先,更改CLion的編譯器為MSYS2中的MinGW,自行修改為32/64位

新建工程,在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;
}

編譯&執行。如果彈出如下視窗,恭喜,環境搭建成功。