2010-09-08 72 views
2

在Java和eclipse中使用C++幾年後,我很新,使用code :: blocks有一點困惑,沒有自動生成setter/getter,還實現了interface:D。關於頭文件的C++文件夾結構的問題

我想問一下code :: blocks中的代碼結構,我創建了一個新的控制檯應用程序,我的頭文件將被放到Headers/include文件夾中,名字叫Employee.h,然後.cpp將被放到src文件夾中。 現在我創建主類(我把src文件夾外)誰就會調用頭,我只是追加了包括這樣的代碼:

#include "Employee.h" 

確保再編譯錯誤出現後: 錯誤:Employee.h : 無此文件或目錄。

如何正確地將標題鏈接到主類?

這是我的文件夾結構:

alt text

更新: 它的工作原理,我包括文件夾需要在編譯選項添加。 alt text

真的感謝

回答

2

您需要將include目錄添加到編譯器的包含路徑中。這將是編譯器特定的。例如,如果你的結構是:

code 
code/src 
code/include 

,你是從「代碼」目錄下的終端運行的G ++,你需要運行(假設你的.cpp是Employee.cpp):

g++ -Iinclude src/Employee.cpp 

我懷疑你正在運行某種IDE,但是:如果是,請在其幫助中搜索「include path」,它會告訴你如何正確設置它。

+0

yeahhhh ...它的工作原理,我需要在構建選項上添加我的「包含」文件夾。捕獲附在上面。 – 2010-09-08 07:51:58

1

如果你希望在你的employee.h你必須#include "employee.h"Employee.h。這是兩個不同的文件。

+0

可能的文件位置也需要驗證。 – ckv 2010-09-08 07:19:59

+0

ups對不起我的錯誤類型,我的意思是我有Employee.h不是employee.h,我真的很確定這個問題是關於我的頭錯誤的地址。 – 2010-09-08 07:20:06

+0

在區分大小寫的操作系統上。麻煩從Windows遷移到Unix ... – 2010-09-08 07:20:44

1

您不應該添加包含路徑到您的項目的頭文件實際上部分的生成選項。它沒有從EmployeeTest.cpp中找到頭文件,因爲你沒有使用完整的相對路徑。

您需要:

#include "include/Employee.h" 

你應該只添加包含路徑到你的編譯器對於未添加到典型的/ usr /本地/附加庫包括或/ usr/include目錄。

+0

當Employee.h從文件夾包含文件移動到其他文件夾時,會發生什麼情況,比如......「company」?在這個例子中,他/她應該將包含路徑添加到構建選項,儘管這種結構並不好。而不是Headers/Include/Employee ..只需將您的項目設置爲Headers/...(所有頭文件)@Mr。 ķ – clanmjc 2012-07-31 21:24:40