標籤:
來源:http://blog.sina.com.cn/s/blog_a6fb6cc901017ygy.html
Windows GTK+ 環境搭建
最近要做介面的一些東西,但是對微軟提供的類庫MFC不是很熟悉,裡面封裝了大量的Windows API比較麻煩,然後就想著其他方式吧!Qt、GTK+原本想學學Qt的,Qt跨平台、文檔也多點,使用也更廣泛。但是Qt的外掛程式一直沒有下載下來,然後就先學習學習GTK+吧!
在網上搜了好多關於Windows GTK+環境搭建的方法,但是很多說的都不是很清楚,所以自己就參考了一些文檔,在官網上下載了所需的環境檔案,自己搭建了GTK+的環境。並進行了詳細的記錄,以下是主要內容。
下載gtk All-in-one bundles包
好了,言歸正傳吧!開始我們的Windows GTK+ 環境搭建環節。主要分為以下幾步:
1) 進入官網www.gtk.org開始先瞭解學習一些有關GTK+的內容。
GTK+ 環境搭建(詳解)" name="image_operate_34581347010438522" alt="Windows GTK+ 環境搭建(詳解)" src="http://s1.sinaimg.cn/middle/a6fb6cc9tc919061a1840&690" width="470" height="254" real_src="http://s1.sinaimg.cn/middle/a6fb6cc9tc919061a1840&690">
2) 點擊”Download”進入下載頁面,找到自己的Windows所對應的環境Win32或者Win64連結,點擊進入。
GTK+ 環境搭建(詳解)" name="image_operate_41151347010438190" alt="Windows GTK+ 環境搭建(詳解)" src="http://s10.sinaimg.cn/middle/a6fb6cc9tc9192a8b7879&690" width="359" height="316" real_src="http://s10.sinaimg.cn/middle/a6fb6cc9tc9192a8b7879&690">
3)若要下載、解壓、整理那些單獨的檔案,則不是很方便,所以就可以選擇有”All-in-one bundles” 的連結,點擊下載。
GTK+ 環境搭建(詳解)" name="image_operate_91341347010437105" alt="Windows GTK+ 環境搭建(詳解)" src="http://s7.sinaimg.cn/middle/a6fb6cc9tc9192abf0f16&690" real_src="http://s7.sinaimg.cn/middle/a6fb6cc9tc9192abf0f16&690">
4) 下載成功後,解壓到任意一個目錄底下即可,我選擇的是” E:\Visual Studio\GTK Env”,即VS工程目錄(不是安裝目錄)下的GTK EnV(gtk environment),
解壓完成之後可以看到一些目錄檔案夾,主要包括:bin、etc、include、lib、man、manifest、share、src。其中bin目錄下主要包含一些可執行檔和動態連結程式庫,lib目錄主要包含一些庫檔案、include主要包含的是一些標頭檔。
設定環境變數
1) 配置環境變數Path
如我所選,將”E:\Visual Studio\GTK Env\bin”加入到環境變數”Path”中。bin目錄中包含有運行時所需的dll檔案,其中也包括gtk-demo.exe樣本程式。
GTK+ 環境搭建(詳解)" name="image_operate_65861347010275435" alt="Windows GTK+ 環境搭建(詳解)" src="http://s1.sinaimg.cn/middle/a6fb6cc9tc91940c6c470&690" real_src="http://s1.sinaimg.cn/middle/a6fb6cc9tc91940c6c470&690">
2) 測試回合
運行” E:\Visual Studio\GTK Env\bin\gtk-demo.exe”樣本程式,可以顯示如下程式介面。
GTK+ 環境搭建(詳解)" name="image_operate_54421347012076793" alt="Windows GTK+ 環境搭建(詳解)" src="http://s15.sinaimg.cn/middle/a6fb6cc9tc9198255af4e&690" width="616" height="313" real_src="http://s15.sinaimg.cn/middle/a6fb6cc9tc9198255af4e&690">
設定VS2008編譯環境設定附加元件封裝含目錄
右擊工程,選擇屬性->C/C++->常規->附加元件封裝含目錄,添加GTK+目錄下的include檔案夾和include檔案夾裡的所有檔案夾,還有lib檔案夾的子檔案夾裡面的兩個include檔案夾,如所示。
GTK+ 環境搭建(詳解)" name="image_operate_30441347012075155" alt="Windows GTK+ 環境搭建(詳解)" src="http://s7.sinaimg.cn/middle/a6fb6cc9tc919825a0876&690" width="575" height="339" real_src="http://s7.sinaimg.cn/middle/a6fb6cc9tc919825a0876&690">
GTK+ 環境搭建(詳解)" name="image_operate_92221347012071372" alt="Windows GTK+ 環境搭建(詳解)" src="http://s12.sinaimg.cn/middle/a6fb6cc9tc9198261062b&690" width="444" height="311" real_src="http://s12.sinaimg.cn/middle/a6fb6cc9tc9198261062b&690">
設定附加庫目錄
轉到庫檔案視圖,添加GTK+目錄的lib檔案夾。設定附加庫目錄:選擇連結器->常規->附加庫目錄,添加GTK+目錄下的lib檔案夾,如所示。
GTK+ 環境搭建(詳解)" name="image_operate_55331347012074423" alt="Windows GTK+ 環境搭建(詳解)" src="http://s16.sinaimg.cn/middle/a6fb6cc9tc91990fae18f&690" width="557" height="346" real_src="http://s16.sinaimg.cn/middle/a6fb6cc9tc91990fae18f&690">
GTK+ 環境搭建(詳解)" name="image_operate_65401347012074254" alt="Windows GTK+ 環境搭建(詳解)" src="http://s7.sinaimg.cn/middle/a6fb6cc9tc91990e95466&690" real_src="http://s7.sinaimg.cn/middle/a6fb6cc9tc91990e95466&690">
添加附加依賴項
建立C++的空項目,在項目->屬性->連結器->輸入->附加依賴項,將” E:\Visual Studio\GTK Env\lib”目錄下的所有.lib檔案都放到附加依賴項中,其中包括:atk-1.0.lib、cairo.lib、expat.lib、fontconfig.lib、freetype.lib、gailutil.lib、gdk_pixbuf-2.0.lib、gdk-win32-2.0.lib、gio-2.0.lib、glib-2.0.lib、gmodule-2.0.lib、gobject-2.0.lib、gthread-2.0.lib、gtk-win32-2.0.lib、intl.lib、libpng.lib、pango-1.0.lib、
pangocairo-1.0.lib、pangoft2-1.0.lib、pangowin32-1.0.lib、zdll.lib。
GTK+ 環境搭建(詳解)" name="image_operate_91851347012073969" alt="Windows GTK+ 環境搭建(詳解)" src="http://s7.sinaimg.cn/middle/a6fb6cc9tc91998baf6f6&690" width="364" height="488" real_src="http://s7.sinaimg.cn/middle/a6fb6cc9tc91998baf6f6&690">
GTK+ 環境搭建(詳解)" name="image_operate_87211347012060063" alt="Windows GTK+ 環境搭建(詳解)" src="http://s6.sinaimg.cn/middle/a6fb6cc9tc91998ba6f35&690" width="442" height="338" real_src="http://s6.sinaimg.cn/middle/a6fb6cc9tc91998ba6f35&690">
測試
建立CPP檔案,寫入如下代碼,可以正常運行則配置成功。
#include
int main (int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *label;
//初始化GTK+庫
gtk_init(&argc, &argv);
//建立主視窗
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//設定視窗大小
gtk_widget_set_size_request(window,300,300);
//設定標題
gtk_window_set_title(GTK_WINDOW (window), "Hello World");
//當視窗即將被銷毀,停止主GTK+迴圈
g_signal_connect(window, "destroy",G_CALLBACK (gtk_main_quit), NULL);
//建立一個"Hello World"標籤
label = gtk_label_new("Hello, World");
//將標籤加入到主視窗
gtk_container_add(GTK_CONTAINER (window), label);
//設定視窗中的所有元素可見
gtk_widget_show_all(window);
//開始主迴圈,讓它在那裡休息,直到應用程式關閉
gtk_main();
return 0;
}
顯示如下:
GTK+ 環境搭建(詳解)" name="image_operate_94091347012016076" alt="Windows GTK+ 環境搭建(詳解)" src="http://s13.sinaimg.cn/middle/a6fb6cc9tc919a426653c&690" real_src="http://s13.sinaimg.cn/middle/a6fb6cc9tc919a426653c&690">
這樣,我們的GTK+在Windows下的環境就搭建好了,Hello World也編寫成功了,呵呵,不足之處還有待改善,希望以後能有機會再更好更多的研究下GTK+和QT吧!
註:技術在於交流、溝通,轉載請註明出處並保持作品的完整性。
╰☆奮鬥ing?孩子` 原文:http://blog.sina.com.cn/s/blog_a6fb6cc901017ygy.html。
Windows GTK+ 環境搭建(詳解)