一:安裝codeblock10.05和GTK+開發包
- 到 http://www.codeblocks.org 下載最新版的codeblock,我一般會選擇帶MinGW編譯器的版本!
文件名是codeblocks-12.11mingw-setup.exe或者其他版本,下載完成后運行安裝文件,一步步安裝到結束。 - 下載安裝GTK+開發包
- For GTK+2:
到 http://www.gtk.org/ 下載GTK+開發包,注意是下載all-in-one bundle,但不要下載2.24.10這個版本,因為該版本的開發包有嚴重Bug,并不能正常使用,建議下載gtk+-bundle_2.16.6-20100912_win32.zip,因為64位的我下載后配置好像有點問題,不過你也可以自己試試。 - For GTK+3
gtk官方到目前為止還沒有提供GTK+3的開發包和運行時,不過網上的很多大牛都自己編譯了GTK+3的開發包,
你可以用google搜索!這里我推薦 http://www.tarnyko.net/ 提供的GTK+3,主頁默認是法語,但有英語頁面!
進入 http://www.tarnyko.net/dl/ 下載頁面后選擇下載gtk+-bundle_3.6.4-20130513_win32.zip
下載完成后將其解壓,解壓后得到的文件放到了C:\gtk+目錄下,注意這個gtk+目錄是需要自己建的,不過建議最好不要放在C盤里面,這里只是舉個例子。
二:設置環境變量
我使用的是win7
64
位系統,設置方法如下:
點擊開始
菜單,之后右鍵單擊“計算機
”–>“屬性
”在側邊欄選擇“高級系統設置
”->在彈出的窗口選擇"高級
"標簽頁–>“環境變量
”,我是建立在"用戶變量"里,當然你也可以建立在“系統變量”里,按新建,依次添加,注意如果變量名已經存在,例如PATH,那就按編輯按鈕,然后在原有的變量值后面加入新的變量值,每個變量值之間用分號隔開
。環境變量設置主要包括以下幾個:
變量名 | 變量值 |
---|---|
GTK_HOME | C:\gtk+ |
INCLUDE | C:\gtk+\include |
LIB | C:\gtk+\lib |
PATH | C:\gtk+\bin |
三:配置codeblock
- For GTK+2:
啟動codeblock,點擊"File"->"New"->"GTK+ Project"創建一個GTK+2項目. - For GTK+3:
啟動codeblock,點擊"File"->"New"->"Empty Project"創建一個空項目.
由于codeblocks目前只支持GTK+2,所以這里只好建立一個空項目然后自己設置。
點擊"Project"->"build options"
-
選擇“Compiler settings”標簽中的Other options子標簽
加入編譯選項-mms-bitfields
選項解釋:編譯GTK程序必須的選項
-
選擇“Linker settings”標簽
在"Link libraries"中點擊"Add"按鈕加入gtk+lib,注意在彈出的文件選擇對話框中將c:\gtk+\lib\目錄下的文件全選就就可以將所有選中的文件一次性加入了,不需要一個一個的加入。
在Other Linker options加入鏈接選項-mwindows
選項解釋:告訴編譯器去編譯一個窗口程序,生成的程序可以去掉控制臺。
如果你正在寫一個終端程序或需要在終端調試信息,那么不要加這個選項!
-
選擇“Search directories”標簽
在"Compiler"子標簽中加入GTK+include的路徑,這里比較郁悶,只能一條條的添加,所以用到那個功能加那個功能吧.C:\gtk+\include C:\gtk+\include\atk-1.0 C:\gtk+\include\atk-1.0\atk C:\gtk+\include\cairo C:\gtk+\include\fontconfig C:\gtk+\include\freetype2 C:\gtk+\include\freetype2\freetype C:\gtk+\include\freetype2\freetype\config C:\gtk+\include\gail-1.0 C:\gtk+\include\gail-1.0\gail C:\gtk+\include\gail-1.0\libgail-util C:\gtk+\include\gdk-pixbuf-2.0 C:\gtk+\include\gdk-pixbuf-2.0\gdk-pixbuf C:\gtk+\include\gio-win32-2.0 C:\gtk+\include\gio-win32-2.0\gio C:\gtk+\include\glib-2.0 C:\gtk+\include\glib-2.0\gio C:\gtk+\include\glib-2.0\glib C:\gtk+\include\glib-2.0\gobject C:\gtk+\include\gtk-2.0 C:\gtk+\include\gtk-2.0\gdk C:\gtk+\include\gtk-2.0\gtk C:\gtk+\include\libpng14 C:\gtk+\include\pango-1.0 C:\gtk+\include\pango-1.0\pango C:\gtk+\include\pixman-1 C:\gtk+\lib\glib-2.0\include C:\gtk+\lib\gtk-2.0\include C:\gtk+\lib\libffi-3.0.12\include
一般來說就這些,如果安裝了新的庫再加。
點擊"Setting"->"Global Variables..."會彈出一個"Global Variable“的窗口,在這里配置gtk的編譯選項,
base C:\gtk+
include C:\gtk+\include
lib C:\gtk+\lib
cflags `pkg-config --cflags gtk+-3.0`
lflags `pkg-config --libs gtk+-3.0`
然后就可以編譯gtk+程序了,如果沒有安裝GTK+運行時,運行gtk+程序還會報錯,這需要將C:\gtk+\bin下的所有DLL文件都復制到項目的bin\Debug目錄下,之后就可以運行了。
四:問題
問題
ld.exe||cannot open output file bin\Debug\test.exe Permission denied|||=== Build finished: 1 errors, 0 warnings ===|
編譯出現這個錯誤是什么原因?答案
新的數據無法寫入\Debug\test.exe
文件,這是因為原來的那個test.exe
程序還在運行,在進程管理器里把它殺掉就好了。
更多參考:
[1]http://blog.csdn.net/dhx20022889/article/details/13770095
[2]http://blog.csdn.net/stereohomology/article/details/37729289
[3]http://blog.163.com/lixiangqiu_9202/blog/static/5357503720139260114656/
[4]http://blog.csdn.net/chszs/article/details/4006814
[5]http://www.cnblogs.com/pingf/archive/2009/06/30/1514126.html