歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Windows和Ubuntu 11.10在Eclipse中配置C和GTK

Windows和Ubuntu 11.10在Eclipse中配置C和GTK

日期:2017/2/28 16:01:09   编辑:Linux教程

為了在Eclipse下編譯使用GTK的C程序,折騰了好久。查了許多資料,發現網上的絕大部分方法都不行。不知道我是太“走運”了還是怎麼回事。折騰了幾個小時後,終於分別在Windows下和Ubuntu下都搭建成功了gtk環境。這裡就把我的經歷寫下來。也方便其他人參考。

Ubuntu下在Eclipse中運行C語言的GTK程序

1、下載相關的包

sudo apt-get install gnome-core-devel build-essential libgtk2.0-dev libgtk2.0-doc

2、測試代碼

打開Eclipse,新建——C Project——輸入Project name,並選擇Executable中的Hello World ANSI C Project,默認會選擇Linux GCC的Toolchains,點擊Finish——這時會打開一個Hello World的示例代碼——將其中哦功能的代碼換成下面的測試代碼。(其實完全可以不用Hello World模版,這裡只是簡化過程。)

  1. #include <gtk/gtk.h>
  2. int main( int argc, char *argv[] )
  3. {
  4. GtkWidget *window;
  5. gtk_init (&argc, &argv);
  6. window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  7. gtk_widget_show (window);
  8. gtk_main ();
  9. return 0;
  10. }

3、配置Eclipse

(1)選中gtk項目,在菜單欄點擊Project——Properties——C/C++ Build——Settings——GCC C Compiler——Miscellaneous,在Other flags中加入`pkg-config –cflags gtk+-2.0`

(2)在同一個對話框中,選擇GCC C Linker——Miscellaneous,在Linker flags中加入`pkg-config –libs gtk+-2.0`

(3)選中GCC C Linker,在右邊的Command line pattern裡面的${INPUTS} 調到${COMMAND}後面,如: ${COMMAND} ${INPUTS} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT}

(4)在GCC C Compiler——Includes中,加入/usr/include/gtk-2.0 和 /usr/include/glib-2.0,可以消除gtk.h unresolved的警告,同時在程序中使用gtk的函數,會出現智能提示。

經過以上步驟,一個GTK程序就能運行出來了。

Windows下在Eclipse中運行C語言的GTK程序

1、安裝並配置gtk

(1)下載windows下用的gtk包,地址為http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.8-20111122_win32.zip,點擊直接下載,不放心的話可以將地址拷到浏覽器地址欄下載。

(2)將下載後的gtk+-bundle_2.24.8-20111122_win32.zip解壓,並將解壓後的文件夾更名為gtk,比如放到C盤中:C:\gtk。

(3)添加環境變量:我的電腦/計算機——右擊,屬性——在彈出的界面中選右邊的高級選項——選擇環境變量——在對話框的下面選擇PATH項——雙擊,添加C:\gtk\bin,注意以分號分割不同的變量。

(4)點開始,輸入cmd,打開命令行,輸入pkg-config --cflags gtk+-2.0+,回車,會出現一堆目錄名,如下:

-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

(5)繼續在cmd窗口中輸入pkg-config --libs gtk+-2.0,回車,出現另一堆目錄:

-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

2、C語言的gtk模版程序

打開Eclipse,新建C項目的Hello World,並換成gtk的模版,如上一節的第二小節一樣。

3、在Eclipse中,選中gtk的項目

(1)選中gtk項目,在菜單欄點擊Project——Properties——C/C++ Build——Settings——GCC C Compiler——Miscellaneous,在Other flags中加入在命令行中輸入`pkg-config –cflags gtk+-2.0`得到的內容。可以用鼠標在cmd窗口復制得到;

(2)在同一個對話框中,選擇MinGW C Linker——Miscellaneous,在Linker flags中加入在命令行中輸入`pkg-config –libs gtk+-2.0`得到的內容;

(3)選中MinGW C Linker,在右邊的Command line pattern裡面的${INPUTS} 調到${COMMAND}後面,如:

${COMMAND} ${INPUTS} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT}

(4)在GCC C Compiler——Includes中,加入C:\gtk\include\gtk-2.0等(具體取決於你將gtk解壓到哪,以及解壓後的文件名),可以消除gtk.h unresolved的警告,同時在程序中使用gtk的函數,會出現智能提示。

經過以上步驟,一個GTK程序就能運行出來了。至於為什麼不能像在Ubuntu中直接使用`pkg-config –libs gtk+-2.0`等作為Miscellaneous的參數,我也沒找到合理的解釋,如果誰能解答,請告訴大家,謝謝。

Copyright © Linux教程網 All Rights Reserved