无法访问标头

时间:2013-07-27 22:08:24

标签: c++ visual-c++

我在源文件包含的另一个文件夹中有一个文件夹中的源C ++代码和一个名为“console.h”的独立头文件。你可以看到如下:

#include <iostream>
#include "console.h"
using namespace std;

int main() {
   return 0;
}

我继续收到错误的错误C1083:无法打开包含文件:'console.h':没有这样的文件或目录。我很确定这是因为标题与源代码文件不在同一个位置(它位于不同的文件夹中)。我可以在源代码中的其他文件夹中使用标题吗?如果是这样,怎么样?我是C ++的新手,今天就开始编写它。我使用Microsoft Visual C ++ 2008 Express Edition作为我的编译器。

谢谢!

3 个答案:

答案 0 :(得分:1)

您需要在include语句中指定路径,以使路径相对于源文件正确:

#include "folder\console.h"

或添加项目的include目录的路径。

要对所有项目执行 ,请右键单击该项目,然后转到“VC ++目录”属性页。将您的文件夹添加到“包含目录”列表中。

要为此项目执行 ,请右键单击该项目并转到“C / C ++&gt;常规”属性页,然后将您的文件夹添加到“其他包含目录列表。

答案 1 :(得分:1)

您可以指定console.h的路径,告诉编译器如何找到它。您可以指定相对于当前.cpp文件位置的完整路径(不建议)或路径

例如,如果console.h位于父文件夹中,则应指定:

#include "..\console.h"

如果它位于同一级别的单独文件夹中,例如“包含”文件夹,则可以指定:

#include "includes\console.h"

答案 2 :(得分:0)

如果头文件和.cpp文件位于同一目录中,则代码可以正常运行。 或者,您必须在调用头文件时使用相对路径。

例如:

#include "../folder/console.h"  //Linux flatform

或:

#include "..\\folder\\console.h"  //Windows

如果您正在使用visual studio,则可以将该文件夹的目录添加到项目的标题目录中。