今天有多研究一下DxLib如何在中文環境下作業。
還好有一定成果,趁現在把步驟寫一寫。
DxLib一直有一個問題,就是在非日文原生環境下,VS有char和TCHAR轉換的issue,
還有header不是unicode編碼編成。
如果不使用日文原生環境(OS+IDE都要是原生日文介面)和使用多位元組字元集編譯的話,
會發生照範例寫但compile不過去的事情,以及查詢DxLib所屬function上的困難。
之前一直都架設獨立環境去build,
現在找到解法後,對於我這個沒什麼程式語言概念的人最少會有一點幫助。
最少不用花時間去建構日文環境。
以下內容會顧慮到初接觸DxLib的程式語言新手,所以步驟會從頭開始寫。
=======================================================
使用IDE: Visual Studio 2015 community(記得要安裝VC++套件)
OS: Windows 7 SP1以上(VS安裝必備條件)
1. 先到DxLib官網下載套件。
http://dxlib.o.oo7.jp/dxdload.html
裡面選擇VC++用,然後找地方執行解壓縮。
2. (建議執行,對於在IDE中查function會比較方便)
找工具將解壓縮後得到的所有header和文字檔全部轉成UTF-8編碼。
我個人是使用ConvertZ,因為他可以做批次轉換。
3. 開啟VS,開啟「Win32空專案」或自己再建立一個。
4. 在project有cpp檔的狀態下,
對方案總管的project檔按滑鼠右鍵選擇「屬性設定」。
5. 在屬性設定內,將組態切到「所有組態」,平台切到「所有平台」,
然後照以下指示進行設定。
一般 → 字元集 :
「使用Unicode字元集」
C/C++ → 一般 → 其他include目錄 :
找到剛剛解壓縮DxLib的位置,
點進去找到「プロジェクトに追加すべきファイル_VC用」這個資料夾。
這個是需要include的目錄。
p.s.通常我會手動將資料夾名改成英文。
連結器 → 一般 → 其他程式庫目錄 :
跟上頭步驟的include目錄一樣。
C/C++ → 進階 → 停用特定警告 :
新增4819 (未以Unicode格式儲存程式碼)
這個在純日文環境下不會發生,但在中文環境下我會建議停掉他。
以上步驟做完先進行套用。
6. 將組態切到「Release」,到C/C++ → 程式碼產生,
把執行階段程式庫改為「多執行緒(/MT)」,然後套用。
7. 將組態切到「Debug」,
把執行階段程式庫改為「多執行緒偵錯(/MTd)」,然後套用。
以上,前置作業大功告成。
然後要注意原本程式碼內,函數需要輸入文字的地方,
例如文字輸出系的printfDX還有DrawFormatString系列,
以及LoadGraph等要求檔案位置的函數中,需要使用_T()將文字編碼進行轉換。
ex. DrawFormatString(100, 100, GetColor(255,255,255), "test");
→DrawFormatString(100, 100, GetColor(255,255,255), _T("test"));
以上資訊分享給大家!!