愛悠閑 > Ubuntu 12.04下在Eclipse IDE for C/C++ Developers中運行C語言的GTK程序

Ubuntu 12.04下在Eclipse IDE for C/C++ Developers中運行C語言的GTK程序

分類: Linux  |  作者: acmerhlj 相關  |  發布日期 : 2014-09-29  |  熱度 : 1332°

       哈哈哈……終于搞定了GTK程序的編譯與運行,糾結了近一個月的問題終于得以解決,痛快!近一個月來,不斷百度、發博文、百度知道提問、csdn提問……經常發私信、評論博文麻煩大牛,比如sunny2038、輕飄風揚、Sun1956……在此對所有幫助我的人表示感謝!
        特別感謝csdn的sunny2038,他的博文《Windows和Ubuntu11.10在Eclipse中配置C和GTK》和熱心回復給了我很大的幫助!
        Neo E. Cai的博文《Ubuntu下GTK的安裝、編譯和測試》對我具有非常重要的意義,在此表示特別的感謝!
        

        記錄一下Ubuntu 12.04下在Eclipse IDE for C/C++ Developers中運行C語言的GTK程序的過程及所遇問題的解決方法,希望對遇到類似問題的人有所幫助。 (另外可以參考百度文庫中的圖解Eclipse建立、配置、運行GTK 項目


安裝、配置過程:
1、下載ubuntu-12.04-desktop-i386.iso,以VM虛擬機的方式安裝。
2、下載jdk-7u4-linux-i586.gz并解壓到/usr/lib/jvm。
3、下載eclipse-cpp-luna-R-linux-gtk.tar.gz并解壓到/usr/lib。
4、參照《Ubuntu下GTK的安裝、編譯和測試》的過程安裝GTK 2.24.10。
5、參照《Windows和Ubuntu11.10在Eclipse中配置C和GTK》配置Eclipse。


編譯、運行GTK項目所遇關鍵問題解決方法:
1、找不到gtk/gtk.h的解決方法:選定GTK項目,右擊選擇Properties-->C/C++ Build-->Settings-->GCC C Compiler-->Includes,加入/usr/include/gtk-2.0 和 /usr/include/glib-2.0。
2、找不到glibconfig.h等頭文件的解決方法(信息類似于:/usr/include/glib-2.0/glib/gtypes.h:34:24: fatal error: glibconfig.h: No such file or directory):在終端用locate glibconfig.h查找所在目錄并在注意點1中逐個添加(應該可以設置環境變量,但作為Linux菜鳥的我
不熟悉),主要目錄如下:

/usr/lib/i386-linux-gnu/glib-2.0/include
/usr/include/cairo
/usr/include/pango-1.0
/usr/lib/i386-linux-gnu/gtk-2.0/include
/usr/include/gdk-pixbuf-2.0
/usr/include/atk-1.0
3、解決undefined reference to `gtk_init'等
錯誤方法

(1)選定GTK項目,右擊選擇Properties-->C/C++ Build-->Settings-->GCC C Linker,在Command line Pattern中,將${FLAGS}移
到最后,即:${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX} ${OUTPUT} ${INPUTS} ${FLAGS}
或者將${INPUTS}移到${FLAGS}的前面,即:${COMMAND} ${INPUTS} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX} ${OUTPUT}
(2)選定GTK項目,右擊選擇Properties-->C/C++ Build-->Settings-->GCC C Compiler-->Miscellaneous的Other flags中添加`pkg-config --cflags gtk+-2.0`,成為-c -fmessage-length=0 `pkg-config --cflags gtk+-2.0`。(我的悲劇之一:刪除了-c -fmessage-length=0)
(3)選定GTK項目,右擊選擇Properties-->C/C++ Build-->Settings-->GCC C Linker-->Miscellaneous的Linker flags中添加:`pkg-config --libs gtk+-2.0`


特別注意cflags,libs前是兩個-,即--(我的悲劇之一:直接從《Windows和Ubuntu11.10在Eclipse中配置C和GTK》復制,只有一個-)。



快乐彩中奖说明