【发布时间】:2026-02-14 16:35:01
【问题描述】:
系统:Windows7,32位,GTK 2.24.10,mingw
我正在尝试编写基于 helloworld.c 类型 GTK 的基本应用程序。但是,它没有运行。
这些是我遵循的步骤。
- 安装 MinGW。
- 在一个包中下载 GTK+。
- 解压 C:\gtk 文件夹中的内容。
- 打开cmd进入C:\gtk\bin目录运行pkg-config --cflags --libs gtk+-win32-2.0
- 它会打印编译标志列表和库以链接您的 项目到。 复制它们并创建一个浴缸文件,如下所示。 设置 VAR=FLAGS 启动命令 其中 VAR = GTK,FLAGS = 上一个命令 (pkg-config) 的输出。 当你想编译文件时使用命令:gcc foo.c %VAR%
D:\gtk>gcc -o 项目 helloworld.c %GTK%
gcc: %GTK%: 没有这样的文件或目录
helloworld.c:1:21: 错误: gtk/gtk.h: 没有这样的文件或目录
helloworld.c:在函数'main'中:
helloworld.c:5: error: 'GtkWidget' undeclared (首先在这个函数中使用)
helloworld.c:5: 错误:(每个未声明的标识符只报告一次
helloworld.c:5:错误:对于它出现的每个函数。)
helloworld.c:5: error: 'window' undeclared (第一次在这个函数中使用)
helloworld.c:9: error: 'GTK_WINDOW_TOPLEVEL' undeclared (第一次在这个函数中使用)
D:\gtk>gcc -Wall -g helloworld.c -o helloworld pkg-config --cflags gtk+-2.0 pkg-config --libs gtk+-2.0
gcc: pkg-config: No such file or directory
gcc: gtk+-2.0: No such file or directory
gcc: pkg-config: No such file or directory
gcc: gtk+-2.0: No such file or directory
cc1.exe: error: unrecognized command line option "-fcflags"
cc1.exe: error: unrecognized command line option "-flibs"
D:\gtk 中的批处理文件
set GTK=-mms-bitfields -IC:/gtk/include/gtk-2.0 -IC:/gtk/lib/gtk-2.0/include -IC:/gtk/include/atk-1.0 -IC:/gtk/include/cairo -IC:/gtk/include/gdk-pixbuf-2.0 -IC:/gtk/include/pango-1.0 -IC:/gtk/include/glib-2.0 -IC:/gtk/lib/glib-2.0/include -IC:/gtk/include -IC:/gtk/include/freetype2 -IC:/gtk/include/libpng14 -LC:/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl
start cmd
helloworld.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_widget_show (window);
gtk_main ();
return 0;
}
【问题讨论】: