cmake管理GTK+3的项目

第一、安装GTK+3

https://www.gtk.org

第二、创建C/C++项目

第三、编辑CMakeLists.txt文件

cmake_minimum_required(VERSION 3.8)
project(wibus)
find_package (PkgConfig REQUIRED)
pkg_check_modules (GTK3 REQUIRED gtk+-3.0)
set(CMAKE_C_STANDARD 11)
include_directories (${GTK3_INCLUDE_DIRS})
link_directories (${GTK3_LIBRARY_DIRS})
set(SOURCE_FILES main.c)
add_executable(wibus ${SOURCE_FILES})
add_definitions (${GTK3_CFLAGS_OTHER})
target_link_libraries (wibus ${GTK3_LIBRARIES})


主要为红色内容部分


第四、测试(下面给出demo代码)

#include 
#include 

static void
print_hello(GtkWidget *widget,
            gpointer data) {
    g_print("Hello World\n");
}

static void
activate(GtkApplication *app,
         gpointer user_data) {
    GtkWidget *window;
    GtkWidget *button;
    GtkWidget *button_box;

    window = gtk_application_window_new(app);
    gtk_window_set_title(GTK_WINDOW (window), "Window");
    gtk_window_set_default_size(GTK_WINDOW (window), 200, 200);

    button_box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
    gtk_container_add(GTK_CONTAINER (window), button_box);

    button = gtk_button_new_with_label("Hello World");
    g_signal_connect (button, "clicked", G_CALLBACK(print_hello), NULL);
    g_signal_connect_swapped (button, "clicked", G_CALLBACK(gtk_widget_destroy), window);
    gtk_container_add(GTK_CONTAINER (button_box), button);

    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;
}

第五、测试结果



cmake管理GTK+3的项目_第1张图片



你可能感兴趣的:(C,c语言,cmake)