天天看點

《C++遊戲開發》第4章源代碼編譯問題的解決

1、 打開dev c++,點選Tools->check for updats/pakages,如圖1:

《C++遊戲開發》第4章源代碼編譯問題的解決

圖1

2、在select devpak server下拉選項中選擇devpaks.org Community Devpaks選項,如圖2,然後點選check for updats:

《C++遊戲開發》第4章源代碼編譯問題的解決

圖2

3、當檢查更新完成後,勾選openAL選項,點選download selected,如圖3:(如果下載下傳不了,直接下載下傳http://download.csdn.net/source/1853440連結上的檔案OpenAl,解壓即可使用)

《C++遊戲開發》第4章源代碼編譯問題的解決

圖3

4、完成安裝後,在C:/Dev-Cpp下會有一個OpenAL-0.099-mingw的檔案夾(前提是你的DEV裝在C槽下),進入,将include檔案夾裡的所有檔案拷到C:/Dev-Cpp/include下,将lib檔案下的所有檔案拷到C:/Dev-Cpp/lib下,之後再将lib檔案下的OpenAL32.dll拷到C:/WINDOWS/system32下(我的是XP系統,其它系統可能稍有不同)。

5、運作書中源代碼

(說明:按照書上的建立順序建構工程,會報如圖4的錯誤,具體原因還不清楚,正在查找中,其它朋友如果有答案麻煩告知一聲)

《C++遊戲開發》第4章源代碼編譯問題的解決

圖4

5.1 于是運作CD光牒中所給的代碼,我将PROG_04_01檔案夾拷至D盤下D:/PROG_04_01,将LLAMAWORKS2D檔案夾也拷至D盤下D:/LLAMAWORKS2D,這樣項目才可以正常引用該引擎檔案,也可以在DEV中設定路徑,不細述。

點選project->project options,如圖5:

《C++遊戲開發》第4章源代碼編譯問題的解決

圖5

5.2 選擇compiler->linker,在Do not use standard system startup files or libraries這項改為No(預設是Yes,務必勾選此項,否則編譯無法通過),如圖6所示:

《C++遊戲開發》第4章源代碼編譯問題的解決

圖6

5.3 添加openAl,openGl庫

在項目名稱上右擊,選擇project options,如圖7:

《C++遊戲開發》第4章源代碼編譯問題的解決

圖7

在彈出的對話框中選擇Parameters,在Linker中依次添加:Alut.a、libOpenAL32.a、ALu.a、ALc.a、Libwinmm.a、Libopengl32.a(注意順序,否則編譯報錯),如圖8:

《C++遊戲開發》第4章源代碼編譯問題的解決

圖8

6、做完這一切後,激動人心的時刻到啦,按F9,運作,出現如圖9所示的運作結果,成功。

《C++遊戲開發》第4章源代碼編譯問題的解決

圖9

後記:個人認為《C++遊戲開發》是一本很不錯的書,循序漸進,由淺入深,講的很好,不過由于第4單元出現的編譯問題,讓很多人都唾棄這本書,現在國内這本書好像已經不再出版了,國外還召回了這本書,我認為之是以出現這種問題,可能是作者DEV編譯器的配置問題,不是該編譯器預設值,5.2步中将Yes 選項改為No選項就是一個說明,我猜想開始的記憶體出錯問題也有很大可能與配置有關,朋友們如果有時間可以對比一下自己建立的DEV工程配置參數和作者提供的DEV工程的配置參數的差異,可能會發現之中存在的問題。