关于头文件的C ++文件夹结构的问题

时间:2010-09-08 07:12:29

标签: c++

在Java和eclipse中使用几年之后,我对C ++很陌生,使用code :: blocks,没有autogenerate setter / getter以及实现接口时,我有点困惑:D。

我想问一下code :: blocks中的代码结构,我创建了新的控制台应用程序,我的标题将被放到名为Employee.h的Headers / include文件夹中,然后.cpp将被放到src文件夹中。 现在我创建了一个主类(我放在src文件夹之外),它将调用头文件,我只需附加这样的包含代码:

#include "Employee.h"

确定编译后出现错误: 错误:Employee.h:没有这样的文件或目录。

如何正确地将标题链接到主类?

这是我的文件夹结构:

alt text

更新: 它工作,我的include文件夹需要添加到构建选项。 alt text

非常感谢

3 个答案:

答案 0 :(得分:2)

您需要将include目录添加到编译器的include路径中。这将是特定于编译器的。例如,如果您的结构是:

code
code/src
code/include

并且您正在'code'目录中的终端运行g ++,您需要运行(假设您的.cpp是Employee.cpp):

g++ -Iinclude src/Employee.cpp

我怀疑你正在运行某种类型的IDE:如果是这样,请在其帮助中搜索“包含路径”,它应该告诉你如何正确设置它。

答案 1 :(得分:1)

如果您想加入employee.h,则必须#include "employee.h"而不是Employee.h。这是两个不同的文件。

答案 2 :(得分:1)

您不应该为实际 part 项目的头文件的构建选项添加包含路径。它没有找到EmployeeTest.cpp中的头文件,因为您没有使用完整的相对路径。

你需要:

#include "include/Employee.h"

您应该只为编译器添加包含路径,以用于未添加到典型/ usr / local / include或/ usr / include目录的其他库。