由於將系統升級到了Windows 8, 而Windows 8 SDK已經集成了DirectX SDK,且不包含DX9及之前的頭文件和庫文件,如果想編寫DX9程序則需要安裝DirectX SDK,我安裝的是DirectX SDK的最后一個單獨分發包-Microsoft DirectX SDK (June 2010)。
這樣又出現了一個問題,如果編寫DX10/11或者Direct2D程序,就會導致有兩份頭文件及庫文件,一份來自Windows 8 SDK,位於C:\Program Files\Windows Kits\8.0\Include,這是隨系統安裝的,而且是最新版的,編程時建議使用此版,另一份則來自上面安裝的DirectX SDK,比就舊。不支持使用。如果不想編寫DirectX 9程序,則沒必要安裝。
Visual Studio改變了project properites的設置方式,如果要為所有的project設置同樣的配置,已經不能簡單的在project上單擊右鍵並選擇屬性來操作了,需要使用property manager,具體步驟如下。
在VS菜單中選擇VIEW-Property Manager打開項目管理器,這里會列出整個solution包含的所有工程,點擊project左側的小三件,展開debug和release文件夾,可以看到這里有幾個property page。
其中Microsoft.cpp.Win32.user是針對當前用戶的,也就是說當前用戶創建的所有project都將使用此配置,而Application只針對當前project,不會影響其他project。可以雙擊這兩個page來打開屬性窗口並進行相關設置。
如果為了使所有的DirectX9程序都使用同樣的配置而去修改Microsoft.cpp.Win32.user,結果會導致這個配置會影響到DX10/11程序,因為為了使DX9程序順利運行,我們勢必將DirectX SDK的inlucde路徑包含在這個配置中,而這個路徑中也包含着DX10/11的頭文件。庫文件亦如此,這違背了上面使用Windows 8 SDK開發DX10/11程序的原則。
所以我們可以嘗試為一類project設定一個配置,在debug folder上單擊右鍵,選擇Add new property page,起名為DirectX9,在這個配置里面添加所有和DirectX9程序相關的配置,然后保存一下,以后所有的DirectX9工程只要引用一下這個配置就可以了。
如果配置未生效,請嘗試以下方法。
- 在property page上單擊右鍵,選擇保存。
- 在property page上單擊右鍵,調整配置應用的順序。
你還可以為DX 10/11程序也定義一個property page。