linux C/C++開發環境搭建指南

來源:互聯網
上載者:User

Ubuntu中沒用內建C/C++開發環境,需要使用者自己配置。在UBUNTU中文論壇中的一些文章集合。

一、安裝基本開發環境

本人想學習一下Linux下的C,C++程式開發,這幾天一直在研究Linux下的C語言編譯環境的建立,因為新裝好的Ubuntu裡面缺少函數庫檔案,所以無法編譯最簡單的C語言檔案,故要先配置一番,這幾天也有一點心得,寫下來和大家一起學習。
原來我以為安裝配置非常麻煩,後來發現在新立得的協助下很快就能配置好(前提你的源的網速比較快)。
我先安裝了一個新的Ubuntu6.10,然後按照Wiki裡的協助先配置好了源、IME、中文環境等。然後開始配置編譯環境。

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-develsudo apt-get install libglib2.0-doc libgtk2.0-docsudo apt-get install devhelpsudo 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公司網站的價格和可行性頁面,或者與sales@trolltech.com聯絡。企業版比專業版多一些擴充模組。

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 的人實在是一個好訊息!我現在還僅僅用的是開源版的,以後有機會用它的企業版我想能用的更好。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.