我是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编译的命令。
答案 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