Linux學習筆記6:linux C/C++開發環境搭建指南
Ubuntu中沒用自帶C/C++開發環境,需要使用者自己配置。在UBUNTU中文論壇中的一些帖子集合。
一、安裝基本開發環境
本人想學習一下Linux下的C,C++程式開發,這幾天一直在研究Linux下的C語言編譯環境的建立,因為新裝好的Ubuntu裡面缺少函式庫檔案,所以無法編譯最簡單的C語言檔案,故要先配置一番,這幾天也有一點心得,寫下來和大家一起學習。
原來我以為安裝配置非常麻煩,後來發現在新立得的幫助下很快就能配置好(前提你的源的網速比較快)。
我先安裝了一個新的Ubuntu6.10,然後按照Wiki裡的幫助先配置好了源、輸入法、中文環境等。然後開始配置編譯環境。
1、配置GCC
剛裝好的系統中已經有GCC了,但是這個GCC什麼檔案都不能編譯,因為沒有一些必須的標頭檔案,所以要安裝build-essential這個軟體包,安裝了這個包會自動安裝上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必須的軟體和標頭檔案的庫。
可以在新立得裡面搜尋build-essential或輸入下面命令:
- sudo apt-get install build-essential
安裝完成後寫一個C語言程式testc.c測試一下。
- #include<stdio.h>
- int main()
- {
- printf("Hello Ubuntu!\n");
- return 0;
- }
- $ gcc testc.c -o testc
- $ ./testc
顯示
Hello Ubuntu!
這樣,C語言編譯器就安裝成功了;
2安裝GTK環境
安裝GTK環境只要安裝一個gnome-core-devel就可以了,裡面集成了很多其他的包。除此之外還要轉一些其他的東西,如libglib2.0-doc、libgtk2.0-doc幫助文件,devhelp幫助文件檢視,glade-gnome、glade-common、glade-doc圖形介面設計等。
- sudo apt-get install gnome-core-devel
- sudo apt-get install libglib2.0-doc libgtk2.0-doc
- sudo apt-get install devhelp
- sudo apt-get install glade-gnome glade-common glade-doc
安裝完成後我們也同樣做個測試程式
- #include<gtk/gtk.h>
- void hello(GtkWidget *widget,gpointer data)
- {
-
g_print("Hello Ubuntu!\n"
- }
- gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data)
- {
- g_print ("delete event occurred\n");
- return(TRUE);
- }
- void destroy(GtkWidget *widget,gpointer data)
- {
- gtk_main_quit();
- }
- int main( int argc, char *argv[] )
- {
- GtkWidget *window;
- GtkWidget *button;
- gtk_init (&argc, &argv);
- window=gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_signal_connect (GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);
- gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL);
- gtk_container_set_border_width (GTK_CONTAINER (window), 10);
- button = gtk_button_new_with_label ("Hello Ubuntu!");
- gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL);
- gtk_signal_connect_object (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window));
- gtk_container_add (GTK_CONTAINER (window), button);
- gtk_widget_show (button);
- gtk_widget_show (window); /*顯示一個視窗*/
- gtk_main(); /*進入主迴圈*/
- return(0);
- }
用下面命令編譯執行
- $ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
- $ ./gtktest
會顯示一個帶有一個按鈕的視窗,點選按鈕以後視窗關閉,命令列顯示Hello Ubuntu!
GTK測試
c語言測試
二、安裝IDE開發工具
著名的開發工具有Kdeveloper, Anjuta, Eclipse+CDT。
其中kdeveloper是KDE平臺得,在Gnome平臺下使用需要安裝一大堆KDE的東西,不喜歡,放棄了,雖然都傳說Kdeveloper的功能是如何強大。而Eclipse+CDT用起來似乎不錯,但是主要有兩點不舒服,一是不能程式碼自動完成,二是編譯速度比較慢。
Eclipse + CDT的安裝配置。
Java執行環境以及Eclipse3.3.0安裝就不具體介紹。
詳細情況見:http://blog.chinaunix.NET/u/21684/showart_384208.html
1。下載CDT(http://www.eclipse.org/cdt/downloads.PHP)(只能下載4.0.x,如果是Eclipse3.3.0其他的選擇合適的版本)
2。安裝CDT外掛(links方法來安裝外掛的方法,便於對外掛的管理)
A.在eclipse所在的目錄(ECLIPSE_HOME)新建資料夾cdt
在資料夾cdt中新建資料夾eclipse(不要詫異就是eclipse)
B. 把下載的cdt-master-4.0.0.zip中的內容解壓到/ECLIPSE_HOME/cdt/eclipse中
C.在ECLIPSE_HOME新建資料夾links
在新建的links中新增檔案cdt.link 檔案的內容為 path=/ECLIPSE_HOME/cdt
比如我的就是path=/opt/eclipse/cdt
D.這樣就完成了CDT外掛的安裝工作了,啟動eclipse 就看到多了c,c++開發環境
三、Anjuta安裝配置
A. ubuntu feisty (for gusty, see below) repository (only i386 and only binaries)
1. Add deb http://anjuta.org/apt ./ in your /etc/apt/sources.list
2. sudo apt-get update
3. sudo apt-get install anjuta
4. sudo apt-get install anjuta-dev libgbf-dev libgdl-dev (if you want to write anjuta plugins or report bugs)
Note!! If you have installed older anjuta-2.2.0 previously using this repository, make sure to remove the file /etc/apt/preferences or remove the following version pin from the file before following the above steps. The version pin is no longer needed:
B. Ubuntu gusty repository
1. Add deb http://ppa.launchpad.Net/robster/ubuntu
gutsy universe in your /etc/apt/sources.list
2. sudo apt-get update
3. sudo apt-get install anjuta
4. sudo apt-get install anjuta-dev libgbf-dev libgdl-dev (if you want to write anjuta plugins or report bugs)
注意: 建議使用新立得安裝。
題外話 QT VS GTK /GTK+
Qt是一個多平臺的C++圖形使用者介面應用程式框架。它提供給應用程式開發者建立藝術級的圖形使用者介面所需的所用功能。Qt是完全面向物件的很容易擴充套件,並且允許真正地元件程式設計。自從1996年早些時候,Qt進入商業領域,它已經成為全世界範圍內數千種成功的應用程式的基礎。Qt也是流行的Linux桌面環境KDE 的基礎,KDE是所有主要的Linux發行版的一個標準組件。Qt支援下述平臺:
* MS/Windows - 95、98、NT 4.0、ME、和2000 * Unix/X11 - Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX和其它很多X11平臺 * Macintosh - Mac OS X * Embedded - 有幀緩衝(framebuffer)支援的Linux平臺。
Qt是Trolltech公司的一個產品。Qt被按不同的版本發行:
Qt企業版和Qt專業版 提供給商業軟體開發。它們提供傳統商業軟體發行版並且提供免費升級和技術支援服務。如果要獲得最新報價,請瀏覽Trolltech公司網站的價格和可行性頁面,或者與[email protected]聯絡。企業版比專業版多一些擴充套件模組。
Qt自由版是Qt僅僅為了開發自由和開放原始碼軟體 提供的Unix/X11版本。在Q公共許可證和GNU通用公共許可證 下,它是免費的。最新的版本可以在這裡下載。
Qt/嵌入式自由版是Qt為了開發自由軟體提供的嵌入式版本。在GNU通用公共許可證下,它是免費的。
用C的很自然就選擇了gtk+, C++的選擇了QT。一般選擇。QT出來的比C++標準早,所以和標準的C++還是區別的。聽說QT的C++並不純。gtk+也有其它語言繫結,C++的gtkmm,python的pygtk.跨平臺大家都能做到,但wxWidget在跨平臺上好像選擇的人更多 些。
我用了不短的時間就是在選擇到底在Linux下用什麼工具來程式設計,現在選擇了Qt。我認為如果要編一些小程式可以使用任何一種工具,但是我認為不管真樣選擇,我們不能倒退到以前那種存脆的C下全部自己動手的那種局面。那樣確實鍛鍊人培養人,但是人的時間是有限的,當我們要面對比較大的程式的時候QT這種是不錯的選擇。只是現在用的人太少。QT在windows下能和VC關聯起來使用,這對於我們這些用慣VC 的人實在是一個好訊息!我現在還僅僅用的是開源版的,以後有機會用它的企業版我想能用的更好。