2012-05-03 52 views
3

我一直在嘗試鏈接.lib文件,並且還在我的C++控制檯應用程序項目中包含頭文件。我從我的其他項目中複製了C++頭文件,並將其粘貼到控制檯應用程序項目中的Header Files文件夾下。下面是屏幕截圖:http://i.imgur.com/JFFIn.png無法在C++控制檯應用程序項目中包含頭文件

但是,當我嘗試在我的代碼中包含標題爲#include...時,我的頭文件名沒有得到intellisense。 (我只看到targetver.h,stdafx.h和調試文件夾)
我試圖指向Add additional include directories在我的C++控制檯應用程序項目屬性到項目文件夾本身,但似乎沒有幫助和文件仍然沒有出現。

如果我寫的頭文件作爲#include "DllTest.h"的名字,我得到一個錯誤說:
Cannot open include file: 'DLLTest.h': No such file or directory c:\users\ht\documents\visual studio 2010\projects\dlltest\dlltestconsole\dlltestconsole.cpp

如何被包含在這裏的頭文件,所以它開始出現的?如果我add a new item > Header File,將其命名爲DLLTest.h並複製粘貼頭文件內容在這裏,它只是正常顯示。如何將複製的頭文件粘貼到Header Files文件夾中?

+0

「DllTest.h」在你的項目目錄下嗎? (例如,在dlltestconsole.cpp附近?) – phantasmagoria

+0

@phantasmagoria:它在項目下的Header Files中。以下是截圖:http://i.imgur.com/JFFIn.png – user1240679

+2

是的,但是磁盤上的文件在哪裏? 「頭文件」實際上不是一個文件夾,它只是用於UI中的組織的_filter_。磁盤上任何位置的文件都可以添加到該過濾器中。編譯器對過濾器一無所知,它只知道磁盤上的位置。您需要確保它所在的文件夾出現在「其他包含目錄」中。 –

回答

3

在C++項目中,在解決方案資源管理器中看起來像文件夾的東西實際上不是文件夾,它們是過濾器。它們是可用於在IDE中組織項目項的僅用於UI的實體。儘管如此,它們並沒有以任何方式反映磁盤上物品的結構或位置。您可以將磁盤上任何位置的文件添加到解決方案中的任何過濾器。

編譯器對這些過濾器一無所知;它只知道文件存在於磁盤上。

就你而言,這些文件不在你的項目文件夾中。你要麼需要:

  • 將文件複製到項目文件夾,然後將它們添加到從那裏的項目(在解決方案右鍵單擊,然後單擊添加現有項),或

  • 加然後將它們的位置添加到項目屬性中的「Additional Include Directories」屬性中。

我不知道有什麼辦法有IDE時,會自動複製移動文件到項目目錄並將其粘貼到該項目。 C++項目系統與用於C#和VB的項目系統有着根本的不同。

+0

我喜歡「C++項目與C#完全不同」的說明。 – Gqqnbig

相關問題