gpt4 book ai didi

windows - 如何在 Windows 中使用 cmake 更轻松地链接 gtk 库?

转载 作者:可可西里 更新时间:2023-11-01 10:55:23 26 4
gpt4 key购买 nike

我现在以一种非常丑陋的方式手动包含所有必需的路径(gtk 包位于 D:/Tools/gtk+-bundle_2.20.0-20100406_win32):

include_directories(D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/gtk-2.0 D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/glib-2.0 D:/Tools/gtk+-bundle_2.20.0-20100406_win32/lib/glib-2.0/include D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/cairo D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/pango-1.0 D:/Tools/gtk+-bundle_2.20.0-20100406_win32/lib/gtk-2.0/include D:/Tools/gtk+-bundle_2.20.0-20100406_win32/include/atk-1.0)
link_directories(D:/Tools/gtk+-bundle_2.20.0-20100406_win32/lib)

target_link_libraries(MyProgram gtk-win32-2.0.lib)

最佳答案

2019-10-29 编辑:虽然这个答案仍然有效,但请注意,自从我在 2011 年的原始答案以来,CMake 已经有了很大的发展。搜索“现代 CMake”,因为有许多句法和最佳实践变更。

原答案:

只需将包含 pkg-config 的目录(在您的 gtk-bundle/bin 目录中)添加到您的 PATH。这样,CMake 就会找到它。

这是用 GTK2 编写的示例应用程序的 CMakeLists.txt:

cmake_minimum_required (VERSION 2.4)
project (gtk-test)

find_package (PkgConfig REQUIRED)
pkg_check_modules (GTK2 REQUIRED gtk+-2.0)

include_directories (${GTK2_INCLUDE_DIRS})
link_directories (${GTK2_LIBRARY_DIRS})
add_executable (gtk-test main.c)
add_definitions (${GTK2_CFLAGS_OTHER})
target_link_libraries (gtk-test ${GTK2_LIBRARIES})

还有我的测试应用程序的 main.c 文件:

#include <gtk/gtk.h>

int main (int argc, char **argv)
{
GtkWidget *window;

gtk_init (&argc, &argv);

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello world !");
g_signal_connect (G_OBJECT (window), "destroy", gtk_main_quit, NULL);

gtk_widget_show_all (window);
gtk_main ();

return 0;
}

我在 Win XP 上使用 CMake 2.4 和 CMake 2.8 以及 MinGW 对其进行了测试,它可以正常工作。它也应该在 MinGW 之外工作。

关于windows - 如何在 Windows 中使用 cmake 更轻松地链接 gtk 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2730135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com