cegui 編譯過程詳解(cegui-0.8.2)


  cegui配置整了好長時間了,在一位大牛幫助下終於搞定了,網上的教程大多是老版本的,cegui-0.8.2版的配置寥寥無幾,現在總結一下,獻給正在糾結的小白們。

准備工作

 第一步,先下載cegui-0.8.2CEGUI 0.8.x Dependency

     http://www.cegui.org.uk/wiki/index.php/CEGUI_Downloads_0.8.2

  

  第二,我們下載cmake,用於構建文件,cmake官網不太穩定,經常打不開,去這里下載吧,我們對cmake的使用也很簡單,只需學會如何構建文件即可,簡單了解一下如何使用即可

      http://ishare.iask.sina.com.cn/f/7204325.html    ,其他地方也可以.

  然后安裝到電腦上,運行結果如下:

 

 好了,准備工作做完了,現在我們開始編譯。

  第一,把下載的文件解壓到任意目錄,但不要出現中文路徑,如圖兩個文件夾一個不能少

          

  第二,構建cegui-deps-0.8.x-src文件,其目錄結構如上圖,要使用到的文件就是CMakelists.txt,這里面存放的就是構建的過程

  首先,打開cmake,選擇目錄  ” cegui-deps-0.8.x-src“

  

  然后點擊configure,做如下選擇,選擇自己的編譯器,看清楚啊,你可以打開自己的ide看一下版本

               

  接着開始構建,過程顯示如下:

The C compiler identification is MSVC 16.0.40219.1
The CXX compiler identification is MSVC 16.0.40219.1
Check for working C compiler using: Visual Studio 10
Check for working C compiler using: Visual Studio 10 -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler using: Visual Studio 10
Check for working CXX compiler using: Visual Studio 10 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Configuring done

  

   

   點擊 Generate就可以生成文件CEGUI-DEPS.sln,現在可以打開vs2010進行編譯了

  先在debug下編譯,再在release下編譯,在vs中打開后直接F7,不用配置其他東西。完成后將需要將dependercied文件夾拷貝到cegui-0.8.2目錄下

  

  第三,使用cmake構建cegui-0.8.2,過程同上,生成cegui.sln

   編譯之前,先將 D:\cegui-0.8.2\dependencies\bin添加到系統環境變量path里面去

  然后后編譯會出如下錯誤

錯誤1

  error C2065: “CEGUI_NEW”: 未聲明的標識符

  解決方法:將CEGUI_NEW 改為new

錯誤2,這是一大堆錯誤,打開源代碼看看,你就明白了,不過我不明白怎么會出現這種錯誤

3>Sample_FontDemo.cpp(134): error C2001: 常量中有換行符
3>Sample_FontDemo.cpp(147): error C2001: 常量中有換行符
2>GameMenu.cpp(692): error C2001: 常量中有換行符
2>GameMenu.cpp(694): error C2146: 語法錯誤: 缺少“)”(在標識符“d_botBarLabel”的前面)
2>GameMenu.cpp(717): error C2001: 常量中有換行符
2>GameMenu.cpp(719): error C2146: 語法錯誤: 缺少“)”(在標識符“d_topBarLabel”的前面)
2>GameMenu.cpp(728): warning C4819: 該文件包含不能在當前代碼頁(936)中表示的字符。請將該文件保存為 Unicode 格式以防止數據丟失
2>GameMenu.cpp(748): error C2001: 常量中有換行符
2>GameMenu.cpp(750): error C2146: 語法錯誤: 缺少“)”(在標識符“d_botBarLabel”的前面)

  改為:(encoded_char*)"+11111111111111111111"

  改為:"1"

  改為finalText += reinterpret_cast<const encoded_char*>("d");

  改為finalText += reinterpret_cast<const encoded_char*>("1");

  改為:finalText += reinterpret_cast<const encoded_char*>("1");

 

現在好了,全部編譯成功。終於看到哦哦夢寐以求的結果了

  

 

  還有一點需要注意,就是默認情況話運行WidgetDemo后會是程序崩潰,如下:

  

  

  向那些無私奉獻的大牛小牛們致敬!謝謝你們。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM