2012-04-18 66 views
0

我已經安裝了GTK和MinGW在Windows和使用下面的命令在Windows中編譯gtk程序時如何克服錯誤?

set VAR=-mms-bitfields -IC:/Windows/gtk+-bundle/include/gtk-2.0 -IC:/Windows/gtk+-bundle/lib/gtk-2.0/include -IC:/Windows/gtk+-bundle/include/atk-1.0 -IC:/Windows/gtk+-bundle/include/cairo -IC:/Windows/gtk+-bundle/include/gdk-pixbuf-2.0 -IC:/Windows/gtk+-bundle/include/pango-1.0 -IC:/Windows/gtk+-bundle/include/glib-2.0 -IC:/Windows/gtk+-bundle/lib/glib-2.0/include -IC:/Windows/gtk+-bundle/include -IC:/Windows/gtk+-bundle/include/freetype2 -IC:/Windows/gtk+-bundle/include/libpng14 -LC:/Windows/gtk+-bundle/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 

    gcc a.c %VAR% 

編譯程序,我已經得到了以下錯誤

C:\Users\kiran\Desktop\gtk>gcc a.c -mms-bitfields -IC:/Windows/gtk+-bundle/inclu 
de/gtk-2.0 -IC:/Windows/gtk+-bundle/lib/gtk-2.0/include -IC:/Windows/gtk+-bundle 
/include/atk-1.0 -IC:/Windows/gtk+-bundle/include/cairo -IC:/Windows/gtk+-bundle 
/include/gdk-pixbuf-2.0 -IC:/Windows/gtk+-bundle/include/pango-1.0 -IC:/Windows/ 
gtk+-bundle/include/glib-2.0 -IC:/Windows/gtk+-bundle/lib/glib-2.0/include -IC:/ 
Windows/gtk+-bundle/include -IC:/Windows/gtk+-bundle/include/freetype2 -IC:/Wind 
ows/gtk+-bundle/include/libpng14 -LC:/Windows/gtk+-bundle/lib -lgtk-win32-2.0 - 
lgdk-win32-2.0 -latk-1.0 -lgio-2.0-lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgd 
k_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lgli 
b-2.0 -lintl 
C:\Windows\MinGW\bin/ld.exe: cannot find -lgio-2.0-lpangowin32-1.0 
collect2: ld returned 1 exit status 
+0

嗯,你試過在「-lgio-2.0-lpangowin32-1.0 」之間放置一個空格在你的參數中嗎?正如在「-lgio-2.0 [SPACE] -lpangowin32-1.0」 – Ancurio 2012-04-18 11:12:22

+0

thats correct.but我已經得到了整個命令通過pkg-config --cflags --libs gtk + -2.0 – 2012-04-18 11:59:30

回答

0

我同意的間距問題,應該是-lgio-2.0 -lpangowin32-1.0,不是-lgio-2.0-lpangowin32-1.0。如果您仍然有類似的錯誤,檢查沒有發現庫在目錄提供你通過與-L選項(即C:/Windows/gtk+-bundle/lib

BTW到GCC,喜歡syntax advised by GTK,它可以防止複製/粘貼問題:

gcc $(pkg-config --cflags --libs gtk+-2.0) hello.c -o hello 

您可能需要將pkg-config添加到您的PATH,也可能是.pc文件的目錄爲PKG_CONFIG_PATH