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或輸入下面命令:
[plain] view plain copy
sudo apt-get install build-essential
安裝完成後寫一個C語言程序testc.c測試一下。
[cpp] view plain copy
#include<stdio.h>
int main()
{
printf("Hello Ubuntu!\n");
return 0;
}
[plain] view plain copy
$ 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圖形界面設計等。
[plain] view plain copy
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
安裝完成後我們也同樣做個測試程序
[cpp] view plain copy
#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);
}
用下面命令編譯運行
[plain] view plain copy
$ 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 的人實在是一個好消息!我現在還僅僅用的是開源版的,以後有機會用它的企業版我想能用的更好。