這里的鏈接都是指向我逝去的個人主頁的,所以沒法用了。留在這里留作紀念。
使用的不是什么大路貨。開發環境是Dev-C++,而產生窗口的工具是Gtk+。都是在windows環境下使用的開源的東西。寫這個新手教程的目的是讓仍然處在學習階段,而不是為賺錢逼得沒法選擇的人,能夠看到微軟提供的解決方案之外額東西。但是,由于這兩個東西使用起來是不大讓人習慣的,配置也要一番功夫,所以給一個圖解教程來打發我臥床養病的時間。
step1:
訪問Bloodshed.net(國外),下載最新版本的Dev-C++
這個是國內鏡像的地址:http://www.c-view.org/soft/devcpp/downloads/devcpp4980.exe
我的主頁上也有一個mirror:
http://www.noasia.net/taowen/software/devcpp4980.exe

step2:
把軟件安裝到你希望的位置。沒有什么需要講的。主意一下GPL的標識,真的是開源的東西哦。Dev-C++的核心編譯器就是linux上的主力編譯器gcc,只不過這里用的是gcc的windows的移植版本,移植的版本名叫mingw,另外有一個cygwin的一直版本,以后再說了。而且Dev-C++有一個蠻不錯的開發環境,用來學習C/C++是再好不過了,和經典的VC6有的一拼。想起vs.net龐大的身軀,寒。

step3:
安裝完了之后從開始菜單中找到Dev-C++,啟動之后會發現要求選擇一下語言和外觀。我相信愿意寫點小程序的人,這個應該可以自己搞定,所以就浪費網絡空間來貼圖了。
進去之后是如圖的樣子。先從文件中新建一個項目來。如果你以前習慣的是tc,可能覺得不大習慣寫點小程序都要開一個項目(project)。而vc用關的人就不會了。那是因為一個程序一般都不是一個源文件能夠搞定的,所以開一個項目來記錄項目中用到的源文件,統一管理是正道。
廢話少說,接著下一步。

step4:
點擊了菜單項之后,會出現一個如圖的對話框。需要填寫一些東西。首先是要選擇你要寫的程序的類型,一開始,還是用經典的字符界面下的
HelloWorld開始吧,所以選擇Console Application(控制臺程序),下面藍色的注解說明了這個程序就是一個像MSDOS環境下一樣的字符界面程序。
然受填寫工程的名稱,這里是HelloWorld。
選擇使用的語言類型,還是大眾化的C比較好。而且后面要使用的GTK+這個圖形用戶界面庫也是C的庫。
全部搞定之后點確定,會讓你選擇保存項目配置的位置。制定一個地方點保存。就能接著下一步了。

step5:
點擊了確定之后就能來到一個打開了的文件編輯窗口。這個文件就是main.c,是由開發環境自動生成的,而且還沒有存盤。你在其基礎上添加一行printf,如圖。然后就完成了源代碼的編寫。下面的步驟是存盤,編譯,執行。

step6:
編譯執行可以用F9一鍵搞定。在你沒有保存源文件的情況下,直接按F9將彈出一個要求保存main.c的對話框。當然你可以把它保存為任意文件名,在任意地方。保存好了之后,出現一個編譯進度顯示的窗口,然后就是如圖的執行結果了。這結果可能讓你不解,其實都是那個system("pause")導致的,你在dos窗口下運行pause命令,也能看到那個按任意鍵繼續...的提示。如果你用慣的是VC,則對這個不以為然。以前寫程序的時候都是不添加這行的,程序照樣會在執行候停住,其實那是vc在背后做了手腳的原因,而Dev-C++更顯得透明。

step7:
下一步是要產生一個有窗口的程序。我選擇的是GTK+,要不然就沒有必要寫這么一大堆東西了,因為那個東西難配置。不過在進入GTK+之前,先來看看用windows自己的標準辦法,也就是所謂的sdk來寫一個最簡單的窗口程序是如何吧。
點擊文件->關閉工程能夠把狀態回復到最開始的樣子。然后再次新建一個工程,不過這次工程的配置要改一下,看看圖吧,照著寫。
然后是保存,按F9編譯執行。

step8:
執行的是Dev-C++自動產生的一個標準程序,運行的結果是這個樣子的。但是可以看到代碼長度比較長,而且還有這個程序只能在windows下運行,不能拿到unix環境下重新編譯以獲得可移植性。而下面要介紹的GTK+則是一個比較好的窗口界面開發庫,比直接使用windows的sdk來寫窗口要有很多好處,不過最大的好處還是體會一種使用自由開源東西的爽。雖然覺得沒有必要,為了寫一個窗口弄個那么大的東西來。但是我覺得至少挺好玩的。如果你要是有興趣,就繼續來看用GTK+怎么把一個窗口給弄出來吧。

step9:
現在要做的事情是從網上把GTK+給down下來。GTK+是一個庫,分為運行時庫和開發時庫。顧名思義,運行時庫就是運行用GTK+開發的程序要能夠運行所需要的庫。而開發時庫就是要開發GTK+,所需要的一些.h和.lib文件,也叫編譯時庫。
這里時下載的地址:
http://www.noasia.net/taowen/software/GTK+/GTK-Runtime-Environment-2.2.4.exe
http://www.noasia.net/taowen/software/GTK+/GTK-Development-Environment-2.2.4.exe
前一個運行時(runtime)后一個是開發時開發時(development)。下載之后把他們安裝上。其實也就是接壓縮,假定你安裝運行時庫的位置是@runtime(你自己用實際的位置來替換),開發時庫的位置是@Development。
圖為安裝時的截圖。

step10:
要想編寫GTK+的程序,就先要讓別人寫好的程序能夠在你的機器上運行。也就是先把runtime的支持搞定。去哪兒找別人寫好的windows下的GTK+程序呢?我提供一個:
http://www.noasia.net/taowen/software/GTK_Adder.rar
解開壓縮里面有一個exe文件。你點擊執行就能看到如圖的出錯提示了。

step11:
既然出錯了就要解決問題。問題很明顯就是還沒有讓運行時支持給運轉起來。不是已經安裝了runtime庫了嗎?我不是說了嗎,那個安裝只是一個把文件解壓縮到目標目錄的過程。你還需要讓windows知道去哪兒找到runtime庫。所謂runtime的庫,其實就是dll文件。dll文件在運行程序的時候動態載入,你需要通過控制面板添加一個包含dll文件的路徑到path環境變量中才能讓widnows知道在哪兒來尋找那些dll文件。
控制面板->系統->高級->環境變量->雙擊系統變量中的path那一行。
參見圖,高亮的部分即為添加的路徑。@runtime\lib(@runtime需要用你安裝運行時庫的路徑來替代)。

step12:
再次運行那個下載的文件中的程序,可以看到希望的窗口了。

step13:
下面就是要開始編寫GTK+的程序了。
和前面一樣新建一個windows程序,只是把名字改成HelloGTK+而已。自己搞定。main.c暫時不用動它,后面會編輯。
現在來添加開發時庫的支持,先前的安裝也是那樣,只是把文件準備好了,同樣要讓開發環境知道去哪兒尋找需要的.h和.lib文件。現在先添加一個指示去哪兒尋找.lib文件的路徑,如圖。
工具->編譯選項->目錄->庫
填入的時@development\lib

step14:
現在把需要包含的具體lib文件告訴開發環境。
工程->工程屬性->參數
在鏈接器框里面填入:
-lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv

step15:
然后是把尋找.h文件的路徑告訴開發環境。同樣是
工具->編譯選項->目錄->C包含文件
填入以下目錄
@development\include\gtk-2.0
@development\lib\gtk-2.0\include
@development\include\atk-1.0
@development\include\pango-1.0
@development\include\glib-2.0
@development\lib\glib-2.0\include

step16:
填入以下代碼來替代Dev-C++默認產生的一堆東西:
按F9就能夠編譯運行了。正常情況是編譯能夠正常通過,但是如果你發現出錯(下面會出來一個東西)了,則說面前面添加的一堆東西里面哪里出問題了。但是運行是要出錯的,下面是出錯提示:

step17:
調整一下編譯選項,
工具->編譯選項
填入
-mms-bitfields
選中編譯時加入一下命令

step18:
按ctrl+F11重新編譯,然后按ctrl+F10運行。就可以看到如圖的窗口了
使用的不是什么大路貨。開發環境是Dev-C++,而產生窗口的工具是Gtk+。都是在windows環境下使用的開源的東西。寫這個新手教程的目的是讓仍然處在學習階段,而不是為賺錢逼得沒法選擇的人,能夠看到微軟提供的解決方案之外額東西。但是,由于這兩個東西使用起來是不大讓人習慣的,配置也要一番功夫,所以給一個圖解教程來打發我臥床養病的時間。
step1:
訪問Bloodshed.net(國外),下載最新版本的Dev-C++
這個是國內鏡像的地址:http://www.c-view.org/soft/devcpp/downloads/devcpp4980.exe
我的主頁上也有一個mirror:
http://www.noasia.net/taowen/software/devcpp4980.exe

step2:
把軟件安裝到你希望的位置。沒有什么需要講的。主意一下GPL的標識,真的是開源的東西哦。Dev-C++的核心編譯器就是linux上的主力編譯器gcc,只不過這里用的是gcc的windows的移植版本,移植的版本名叫mingw,另外有一個cygwin的一直版本,以后再說了。而且Dev-C++有一個蠻不錯的開發環境,用來學習C/C++是再好不過了,和經典的VC6有的一拼。想起vs.net龐大的身軀,寒。

step3:
安裝完了之后從開始菜單中找到Dev-C++,啟動之后會發現要求選擇一下語言和外觀。我相信愿意寫點小程序的人,這個應該可以自己搞定,所以就浪費網絡空間來貼圖了。
進去之后是如圖的樣子。先從文件中新建一個項目來。如果你以前習慣的是tc,可能覺得不大習慣寫點小程序都要開一個項目(project)。而vc用關的人就不會了。那是因為一個程序一般都不是一個源文件能夠搞定的,所以開一個項目來記錄項目中用到的源文件,統一管理是正道。
廢話少說,接著下一步。

step4:
點擊了菜單項之后,會出現一個如圖的對話框。需要填寫一些東西。首先是要選擇你要寫的程序的類型,一開始,還是用經典的字符界面下的
HelloWorld開始吧,所以選擇Console Application(控制臺程序),下面藍色的注解說明了這個程序就是一個像MSDOS環境下一樣的字符界面程序。
然受填寫工程的名稱,這里是HelloWorld。
選擇使用的語言類型,還是大眾化的C比較好。而且后面要使用的GTK+這個圖形用戶界面庫也是C的庫。
全部搞定之后點確定,會讓你選擇保存項目配置的位置。制定一個地方點保存。就能接著下一步了。

step5:
點擊了確定之后就能來到一個打開了的文件編輯窗口。這個文件就是main.c,是由開發環境自動生成的,而且還沒有存盤。你在其基礎上添加一行printf,如圖。然后就完成了源代碼的編寫。下面的步驟是存盤,編譯,執行。

step6:
編譯執行可以用F9一鍵搞定。在你沒有保存源文件的情況下,直接按F9將彈出一個要求保存main.c的對話框。當然你可以把它保存為任意文件名,在任意地方。保存好了之后,出現一個編譯進度顯示的窗口,然后就是如圖的執行結果了。這結果可能讓你不解,其實都是那個system("pause")導致的,你在dos窗口下運行pause命令,也能看到那個按任意鍵繼續...的提示。如果你用慣的是VC,則對這個不以為然。以前寫程序的時候都是不添加這行的,程序照樣會在執行候停住,其實那是vc在背后做了手腳的原因,而Dev-C++更顯得透明。

step7:
下一步是要產生一個有窗口的程序。我選擇的是GTK+,要不然就沒有必要寫這么一大堆東西了,因為那個東西難配置。不過在進入GTK+之前,先來看看用windows自己的標準辦法,也就是所謂的sdk來寫一個最簡單的窗口程序是如何吧。
點擊文件->關閉工程能夠把狀態回復到最開始的樣子。然后再次新建一個工程,不過這次工程的配置要改一下,看看圖吧,照著寫。
然后是保存,按F9編譯執行。

step8:
執行的是Dev-C++自動產生的一個標準程序,運行的結果是這個樣子的。但是可以看到代碼長度比較長,而且還有這個程序只能在windows下運行,不能拿到unix環境下重新編譯以獲得可移植性。而下面要介紹的GTK+則是一個比較好的窗口界面開發庫,比直接使用windows的sdk來寫窗口要有很多好處,不過最大的好處還是體會一種使用自由開源東西的爽。雖然覺得沒有必要,為了寫一個窗口弄個那么大的東西來。但是我覺得至少挺好玩的。如果你要是有興趣,就繼續來看用GTK+怎么把一個窗口給弄出來吧。

step9:
現在要做的事情是從網上把GTK+給down下來。GTK+是一個庫,分為運行時庫和開發時庫。顧名思義,運行時庫就是運行用GTK+開發的程序要能夠運行所需要的庫。而開發時庫就是要開發GTK+,所需要的一些.h和.lib文件,也叫編譯時庫。
這里時下載的地址:
http://www.noasia.net/taowen/software/GTK+/GTK-Runtime-Environment-2.2.4.exe
http://www.noasia.net/taowen/software/GTK+/GTK-Development-Environment-2.2.4.exe
前一個運行時(runtime)后一個是開發時開發時(development)。下載之后把他們安裝上。其實也就是接壓縮,假定你安裝運行時庫的位置是@runtime(你自己用實際的位置來替換),開發時庫的位置是@Development。
圖為安裝時的截圖。

step10:
要想編寫GTK+的程序,就先要讓別人寫好的程序能夠在你的機器上運行。也就是先把runtime的支持搞定。去哪兒找別人寫好的windows下的GTK+程序呢?我提供一個:
http://www.noasia.net/taowen/software/GTK_Adder.rar
解開壓縮里面有一個exe文件。你點擊執行就能看到如圖的出錯提示了。

step11:
既然出錯了就要解決問題。問題很明顯就是還沒有讓運行時支持給運轉起來。不是已經安裝了runtime庫了嗎?我不是說了嗎,那個安裝只是一個把文件解壓縮到目標目錄的過程。你還需要讓windows知道去哪兒找到runtime庫。所謂runtime的庫,其實就是dll文件。dll文件在運行程序的時候動態載入,你需要通過控制面板添加一個包含dll文件的路徑到path環境變量中才能讓widnows知道在哪兒來尋找那些dll文件。
控制面板->系統->高級->環境變量->雙擊系統變量中的path那一行。
參見圖,高亮的部分即為添加的路徑。@runtime\lib(@runtime需要用你安裝運行時庫的路徑來替代)。

step12:
再次運行那個下載的文件中的程序,可以看到希望的窗口了。

step13:
下面就是要開始編寫GTK+的程序了。
和前面一樣新建一個windows程序,只是把名字改成HelloGTK+而已。自己搞定。main.c暫時不用動它,后面會編輯。
現在來添加開發時庫的支持,先前的安裝也是那樣,只是把文件準備好了,同樣要讓開發環境知道去哪兒尋找需要的.h和.lib文件。現在先添加一個指示去哪兒尋找.lib文件的路徑,如圖。
工具->編譯選項->目錄->庫
填入的時@development\lib

step14:
現在把需要包含的具體lib文件告訴開發環境。
工程->工程屬性->參數
在鏈接器框里面填入:
-lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv

step15:
然后是把尋找.h文件的路徑告訴開發環境。同樣是
工具->編譯選項->目錄->C包含文件
填入以下目錄
@development\include\gtk-2.0
@development\lib\gtk-2.0\include
@development\include\atk-1.0
@development\include\pango-1.0
@development\include\glib-2.0
@development\lib\glib-2.0\include

step16:
填入以下代碼來替代Dev-C++默認產生的一堆東西:
| 代碼: | [復制到剪貼板] | |
| ||
按F9就能夠編譯運行了。正常情況是編譯能夠正常通過,但是如果你發現出錯(下面會出來一個東西)了,則說面前面添加的一堆東西里面哪里出問題了。但是運行是要出錯的,下面是出錯提示:

step17:
調整一下編譯選項,
工具->編譯選項
填入
-mms-bitfields
選中編譯時加入一下命令

step18:
按ctrl+F11重新編譯,然后按ctrl+F10運行。就可以看到如圖的窗口了
浙公網安備 33010602011771號