2010/10/21

MyGUI使用DirectX不使用OSI編譯

MyGUI 是一款開源UI, 在OGRE中也經常使用,

目前的版本是3.0.1,使用的3rd-party libraries是FreeType 2.3.11版本。

兩個程式都下載後,在MyGUI目錄下建立\Dependencies\include

將freetype-2.3.11\include下的目錄複製進去,

將編譯後的freetype2311_D.lib(debug版本)複製到\Dependencies\debug\lib 目錄下

這樣前置作業已經完成。

一、建置MyGUIEngine

然後開啟\solution_directx\MYGUI.sln

尋找方案總管MyGUIEngine,按右鍵->屬性,組態屬性=>c/c++=>停用特用警告 填入 4819

因為開發者聽說是俄國人,所以編輯不太相同,把”檔案含有無法在目前字碼頁 (950) 中表示的字元。請以 Unicode 格式儲存檔案以防止資料遺失”錯誤訊息關閉不然編譯很久

再MyGUIEngine,按右鍵->僅專案->僅建置”MyGUIEngine”

二、建置MyGUI.DirectXPlatform

一樣停用警告 4819,然後編譯

三、編輯ImageSetViewer

停用警告 4819,

c/c++=>一般=>其他Include目錄=>最下面

..\..\..\Common\Input\OIS 改成 ..\..\..\Common\Input\Win32

c/c++=>前置處理器=>前置處理器定義=>MYGUI_SAMPLES_INPUT_OIS刪除(不一定必要)

連接器=>輸入=>其他相依性=>..\..\..\Dependencies\lib\debug\OIS_d.lib刪除

方案總管=>ImageSetViewer=>Base 移除

InputManager.h
InputManager.cpp
PointerManager.h
PointerManager.cpp

同個位置加入\MyGUI3.0\Common\Input\Win32\ 加入跟目錄上面檔名相同檔案

修改同目錄下的ResourceW32Pointer.cpp 在
#include "ResourceW32Pointer.h" 下加入

#if MYGUI_PLATFORM == MYGUI_PLATFORM_WIN32
# include
# include
#endif

以上,編譯

接下來的其他的 Demo或是 Tool 部份就相同修改,就可編譯了。