在我下载GTK之后,为什么我的编译器会给我这些错误?

时间:2013-09-30 19:42:09

标签: c gtk

我是GTK库的新手,在运行funning程序时出现编译问题:

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

我在编译时键入了这个:

gcc practice.c -o practice `pkg-config --cflags --libs gtk+-2.0`

并出现以下错误:

gcc: error: `pkg-config: No such file or d
gcc: error: gtk+-2.0`: No such file or dir
gcc: error: unrecognized option '--cflags'
gcc: error: unrecognized option '--libs'

我不确定为什么这不会编译,因为我在官方网站上下载了GTK + 2.24.10,我甚至将它存储在自己的文件中,并在环境变量;C:\GTK STUFF\ <中创建了它的路径/ p>

所以我做错了什么,因为当我下载MinGW并将c编译器添加到我的路径时,它就像一个魅力,所以现在的问题是什么?我应该下载额外的东西还是将其存储在其他地方。我已经尝试将其存储在C二进制文件中,但得到了相同的结果,官方网站只提供了要下载的文件,而不是我编译的任何其他特定内容 - 除了在cmd编译的命令。

1 个答案:

答案 0 :(得分:1)

这几天我遇到了类似的错误。诀窍似乎不是使用终端编译(因为它不能替代内联命令),而是使用.bat脚本或真正的shell,如Cygwin的bash。

您可以从终端运行pkg-config --cflags --libs gtk+-2.0并将其结果复制到gtkthings变量中。这对我来说至少是这个伎俩。像这样:

@echo off

set gtkthings=run/the/command --and --paste --results --here

gcc practice.c -o practice %gtkthings%

echo.
pause

在Cygwin或Msys中,您正在使用的命令,

gcc practice.c -o practice `pkg-config --cflags --libs gtk+-2.0`

应该成功编译。


<强> 更新 After all these years, looks like Windows is finally getting a decent shell