2010-04-13 109 views
7

我看着以前的帖子基於此,但他們沒有關係。我收到以下錯誤。致命錯誤C1083:無法打開包含文件

1>c:\users\numerical25\desktop\intro todirectx\introtodirectx\chapter 4\init direct3d\init direct3d.cpp(9) : fatal error C1083: Cannot open include file: 'd3dApp.h': No such file or directory 

但顯然從圖像如下圖所示,它的存在

alt text

在反對誰是有發現的物理驅動器上的標題問題的其他人。編譯器無法從解決方案資源管理器中找到我的頭文件。

回答

14

您在IDE的左側窗格中看到的內容與該文件是否在那裏完全無關。 「解決方案資源管理器」不會探索文件系統中存在的實際文件,它只是顯示哪些文件是已註冊作爲此解決方案的一部分。

爲了編譯代碼,文件必須存在於您的計算機的文件系統中的某個路徑中,該路徑指定爲此解決方案的頭文件的搜索路徑。它不存在,因此錯誤。

+0

好的,你說的話有很多意義,但我對接下來做什麼感到困惑。我應該創建一個名爲Headers的文件夾,並將頭文件放在其中。然後將其添加到包含目錄?我一直認爲解決方案資源管理器中的所有文件都是嵌入到項目中的物理文件。 – numerical25 2010-04-13 14:14:02

+0

好的,我將頭文件添加到了我的.sln文件的根文件夾,現在可以找到它們。 – numerical25 2010-04-13 15:54:26

0

解決方案視圖和文件視圖有時沒有關係;添加到解決方案視圖的每個文件都是xml文件中的一個條目。 #include指令通常在查看包含路徑後查看物理驅動器的位置。

我的建議是將direct3d.h include路徑添加到項目的設置中。這是推薦的方式,因爲它可以輕鬆升級到較新版本的SDK(對於任何外部庫來說這是一個很好的做法)。

+0

好的,但我遇到了d3dApp.h問題。這是一個自定義的標題,我把它放在標題文件夾中。他們VS爲我自動創建了這個Header文件夾。那麼爲什麼它很難找到我放入的頭文件。 – numerical25 2010-04-13 14:11:11

5

確保標題所在的目錄包含在項目設置中(C/C++ →常規→其他包含目錄)。

+0

標題位於解決方案資源管理器中的Header文件夾中。物理驅動器上的.sln文件附近沒有任何頭文件夾。當我去附加包含時,它只允許我搜索物理驅動器上的文件夾。上圖中的Header文件夾只能在.sln中找到。 – numerical25 2010-04-13 14:08:10

+0

爲我工作!謝謝。 – 2011-09-25 00:11:24

相關問題