Ubuntu10.04 C語言編譯環(huán)境的建立
From:
http://forum.ubuntu.org.cn/viewtopic.php?t=40971
本人想學(xué)習(xí)一下Linux下的C,C++程序開發(fā),這幾天一直在研究Linux下的C語言編譯環(huán)境的建立,因?yàn)樾卵b好的Ubuntu里面缺少函數(shù)庫文件,所以無法編譯最簡單的C語言文件,故要先配置一番,這幾天也有一點(diǎn)心得,寫下來和大家一起學(xué)習(xí)。
原來我以為安裝配置非常麻煩,后來發(fā)現(xiàn)在新立得的幫助下很快就能配置好(前提你的源的網(wǎng)速比較快)。
我先安裝了一個(gè)新的Ubuntu6.10,然后按照Wiki里的幫助先配置好了源、輸入法、中文環(huán)境等。然后開始配置編譯環(huán)境。
1、配置GCC
剛裝好的系統(tǒng)中已經(jīng)有GCC了,但是這個(gè)GCC什么文件都不能編譯,因?yàn)闆]有一些必須的頭文件,所以要安裝build-essential這個(gè)軟件包,安裝了這個(gè)包會(huì)自動(dòng)安裝上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必須的軟件和頭文件的庫。
可以在新立得里面搜索build-essential或輸入下面命令:
代碼:
sudo apt-get install build-essential
安裝完成后寫一個(gè)C語言程序testc.c測(cè)試一下。
代碼:
#include<stdio.h>
int main()
{
printf("HelloUbuntu!n");
return 0;
}
代碼:
$ gcc testc.c -o testc
$ ./testc
顯示
Hello Ubuntu!
這樣,C語言編譯器就安裝成功了;
圖1
2安裝GTK環(huán)境
安裝GTK環(huán)境只要安裝一個(gè)gnome-core-devel就可以了,里面集成了很多其他的包。除此之外還要轉(zhuǎn)一些其他的東西,如libglib2.0-doc、libgtk2.0-doc幫助文檔,devhelp幫助文檔查看,glade-gnome、glade-common、glade-doc圖形界面設(shè)計(jì)等。
代碼:
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
安裝完成后我們也同樣做個(gè)測(cè)試程序
代碼:
#include<gtk/gtk.h>
void hello(GtkWidget *widget,gpointer data)
{
g_print("Hello Ubuntu!n");
}
gint delete_event(GtkWidget *widget,GdkEvent *event,gpointerdata)
{
g_print ("delete event occurredn");
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);
}
用下面命令編譯運(yùn)行
代碼:
$ gcc gtkhello.c -o gtktest `pkg-config --cflags--libs gtk+-2.0`
$ ./gtktest
會(huì)顯示一個(gè)帶有一個(gè)按鈕的窗口,點(diǎn)擊按鈕以后窗口關(guān)閉,命令行顯示Hello Ubuntu!
Ubuntu10.04 C/C++ Development InveriomentSetting
From to:http://forum.ubuntu.org.cn/viewtopic.php?t=85683
Ubuntu中沒用自帶C/C++開發(fā)環(huán)境,需要用戶自己配置。這里將論壇的相關(guān)帖子進(jìn)行匯總,并添加自己一點(diǎn)心得,在這里與大家共享。
1。安裝基本開發(fā)環(huán)境,參見
引用:
http://forum.ubuntu.org.cn/viewtopic.php?t=40971
2。 安裝IDE開發(fā)工具
著名的開發(fā)工具有Kdeveloper, Anjuta, Eclipse+CDT。
其中kdeveloper是KDE平臺(tái)得,在Gnome平臺(tái)下使用需要安裝一大堆KDE的東西,不喜歡,放棄了,雖然都傳說Kdeveloper的功能是如何強(qiáng)大。而Eclipse+CDT用起來似乎不錯(cuò),但是主要有兩點(diǎn)不舒服,一是不能代碼自動(dòng)完成,二是編譯速度比較慢。
Eclipse + CDT的安裝配置
引用:
http://forum.ubuntu.org.cn/viewtopic.php?t=75830
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 youwant to write anjuta plugins or report bugs)
Note!! If you have installed older anjuta-2.2.0 previously usingthis repository, make sure to remove the file /etc/apt/preferencesor remove the following version pin from the file before followingthe above steps. The version pin is no longer needed:
B. Ubuntu gusty repository
引用:
1. Add deb http://ppa.launchpad.net/robster/ubuntugutsy 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 youwant to write anjuta plugins or report bugs)
注意:建議使用新立得安裝,選取最新版的Anjuta安裝,目前最新版是2.2.2上面的方法似乎總是安裝不上最新版。
Anjuta相關(guān)帖子
引用:
編譯安裝Anjuta http://forum.ubuntu.org.cn/viewtopic.ph ... ght=anjuta
Anjuta中的HelloWorld http://forum.ubuntu.org.cn/viewtopic.php?t=79137
3。題外話 QT VS GTK /GTK+
QT VS GTK的爭論由來已久,最近在研究中,覺得這么兩段話能夠基本說明,特此引用:
首先介紹一下QT http://www.qiliang.net/qt.html
引用:
Qt是一個(gè)多平臺(tái)的C++圖形用戶界面應(yīng)用程序框架。它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級(jí)的圖形用戶界面所需的所用功能。Qt是完全面向?qū)ο蟮暮苋菀讛U(kuò)展,并且允許真正地組件編程。自從1996年早些時(shí)候,Qt進(jìn)入商業(yè)領(lǐng)域,它已經(jīng)成為全世界范圍內(nèi)數(shù)千種成功的應(yīng)用程序的基礎(chǔ)。Qt也是流行的Linux桌面環(huán)境KDE的基礎(chǔ),KDE是所有主要的Linux發(fā)行版的一個(gè)標(biāo)準(zhǔn)組件。
Qt支持下述平臺(tái):
* MS/Windows - 95、98、NT 4.0、ME、和2000 * Unix/X11 - Linux、SunSolaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX和其它很多X11平臺(tái) *Macintosh - Mac OS X * Embedded -有幀緩沖(framebuffer)支持的Linux平臺(tái)。
Qt 是Trolltech公司的一個(gè)產(chǎn)品。Qt被按不同的版本發(fā)行:
引用:
Qt企業(yè)版和Qt專業(yè)版提供給商業(yè)軟件開發(fā)。它們提供傳統(tǒng)商業(yè)軟件發(fā)行版并且提供免費(fèi)升級(jí)和技術(shù)支持服務(wù)。如果要獲得最新報(bào)價(jià),請(qǐng)瀏覽Trolltech公司網(wǎng)站的價(jià)格和可行性頁面,或者與sales@trolltech.com聯(lián)系。企業(yè)版比專業(yè)版多一些擴(kuò)展模塊。
Qt自由版是Qt僅僅為了開發(fā)自由和開放源碼軟件提供的Unix/X11版本。在Q公共許可證和GNU通用公共許可證下,它是免費(fèi)的。最新的版本可以在這里下載。
Qt/嵌入式自由版是Qt為了開發(fā)自由軟件提供的嵌入式版本。在GNU通用公共許可證下,它是免費(fèi)的。
引用:
用C的很自然就選擇了 gtk+,C++的選擇了QT。一般選擇。QT出來的比C++標(biāo)準(zhǔn)早,所以和標(biāo)準(zhǔn)的C++還是區(qū)別的。聽說QT的C++并不純。gtk+也有其它語言綁定,C++的gtkmm,python的pygtk.跨平臺(tái)大家都能做到,但wxWidget在跨平臺(tái)上好像選擇的人更多 些。
引用:
我用了不短的時(shí)間就是在選擇到底在Linux下用什么工具來編程,現(xiàn)在選擇了Qt。我認(rèn)為如果要編一些小程序可以使用任何一種工具,但是我認(rèn)為不管真樣選擇,我們不能倒退到以前那種存脆的C下全部自己動(dòng)手的那種局面。那樣確實(shí)鍛煉人培養(yǎng)人,但是人的時(shí)間是有限的,當(dāng)我們要面對(duì)比較大的程序的時(shí)候QT這種是不錯(cuò)的選擇。只是現(xiàn)在用的人太少。QT在windows下能和VC關(guān)聯(lián)起來使用,這對(duì)于我們這些用慣VC的人實(shí)在是一個(gè)好消息!我現(xiàn)在還僅僅用的是開源版的,以后有機(jī)會(huì)用它的企業(yè)版我想能用的更好。
愛華網(wǎng)


