2011-02-08 258 views
18

編輯:當然,它的工作了,然後一小時在這裏發帖後,我找到了愚蠢的錯誤...無法打開包含文件「d3dx9.h」

我收到編譯器錯誤在一個項目中嘗試#include <d3dx9.h>。我收到「致命錯誤C1083:無法打開包含文件:'d3dx9.h':沒有這樣的文件或目錄」。

  • 我確實安裝了DirectX SDK(我也試過重新安裝它無濟於事)。
  • 在項目屬性:
    • VC++目錄分別針對所有配置—和環境變量%DXSDK_DIR%C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\預期設定爲「$(DXSDK_DIR)Include;$(IncludePath)」和「$(DXSDK_DIR)Lib\x86;$(LibraryPath)」爲和庫目錄。
    • C/C++>常規設置已經在附加列出$(DXSDK_DIR)include包括
    • 接頭>輸入>附加依賴已經包括用於調試d3dx9d.lib和包括用於發佈配置d3dx9.lib目錄。
  • 能夠成功編譯並運行的DirectX示例瀏覽器教程項目。
  • Visual Studio的智能感知/自動完成將找到d3dx9.h,並建議在文件中的類型和函數名稱(並且不包括在我的其他任何內容中),因此似乎Intellisense可以找到它。

任何關於我忘記什麼或嘗試什麼的建議?

感謝

+0

添加一個答案,你做了什麼,並選擇它。刪除否定了Liviu投入幫助你的努力。 – Will 2011-02-08 11:15:54

+0

好的。我不確定是否回答我自己的問題是不好的形式。會做。 – chaosTechnician 2011-02-08 19:03:08

回答

4

我沒有意識到的是,在其他項目中的一個解決方案是#include ing文件是#include ing是#include ing d3dx9.h並且我沒有將那些路徑添加到該項目中。

/捂臉

6

你應該確保你有用雙引號(「)sorounded ALL路徑。 而不是$(DXSDK_DIR)include你應該有"$(DXSDK_DIR)include"

+3

我的理解是,VS2010不需要引用路徑;但無論如何,添加引號並不能解決問題。 – chaosTechnician 2011-02-08 09:08:28

12

你忘了一兩件事:

  1. 轉到VC++目錄 - >庫目錄
  2. 添加$(DXSDK_DIR)LIB\x86
  3. 適用。

完成。希望這會有所幫助

0

我嘗試了所有這些建議,但都沒有成功。

如果在Visual Studio仍在運行時安裝DirectX,則發現$(DXSDK_DIR)變量不起作用。對我來說,解決方案是重新啓動Visual Studio(當然,在上面列出的解決方案中添加路徑)。

相關問題