如何在C文件中包含gtk/gtk.h

如何在C文件中包含gtk/gtk.h,c,gtk,C,Gtk,我对C语言的开发非常陌生,希望使用GTK创建GUI。我已经下载并安装了gtk 3.6.4捆绑包。我正在尝试编译如下示例代码: #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_

我对C语言的开发非常陌生,希望使用GTK创建GUI。我已经下载并安装了gtk 3.6.4捆绑包。我正在尝试编译如下示例代码:

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

此代码应插入到何处?它在命令窗口上运行并生成一些输出,但这并不能解决我在MS visual studio代码中遇到的错误。我为重复一个问题提前表示歉意,但我仍然无法理解此pkg config代码应该在何处运行,这在其他回答中我并不清楚。

pkg config行是一个shell命令,它在标准输出上生成使用所需函数所需的编译器标志希望比如说,

pkg-config --cflags gtk+-3.0
为我生产

-pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/mirclient -I/usr/include/mircommon -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include 
您要做的是使用shell的一个功能,其中一个命令的输出被放到另一个命令行中。在bash中,这是通过
`…`
完成的:

gcc -o program program.c `pkg-config --cflags --libs gtk+-3.0`
对于bash,另一种语法是
$(…)

对于GNU make makefiles,如果要使用
$(…)
,则需要使用
shell
函数:

gcc -o program program.c $(shell pkg-config --cflags --libs gtk+-3.0)
--cflags
生成C编译器标志,
--libs
生成链接器标志。如果您正在使用makefile进行构建,则只需向生成
.o
文件的配方提供
--cflags
,并向生成最终可执行文件的配方提供
--libs
。要用一个命令将单个C文件直接编译成可执行文件,请同时提供这两个命令。

当我在dos提示符下编写pkg config--cflag时,我会得到一个巨大的输出,但实际上没有意义。关于上面提到的gcc-o program.c
pkg config--cflags--libs gtk+-3.0
命令,这些代码实际需要放在哪里?我不熟悉shell或bash,我只是在visualstudio中执行c文件。这个命令在我的c文件中写入时会给我错误。我仍然觉得我错过了一些东西。啊,我明白了。我错过了你原来帖子中的“VisualStudio”,以为你在使用Unix系统/命令行。在这种情况下,说明如何获取
pkg config
的输出,并将其用作Visual Studio项目选项中的编译器选项。这说明了如何配置Visual Studio。您必须将--msvc语法传递给pkg config才能获得VisualStudio的语法。
gcc -o program program.c $(pkg-config --cflags --libs gtk+-3.0)
gcc -o program program.c $(shell pkg-config --cflags --libs gtk+-3.0)