1

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

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

int main() {
   return 0;
}

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

谢谢!

4

3 回答 3

1

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

#include "folder\console.h"

或将路径添加到项目的包含目录。

对所有项目执行此操作,请右键单击该项目并转到“VC++ 目录”属性页。在那里将您的文件夹添加到“包含目录”列表中。

为这个项目执行此操作,请右键单击该项目并转到“C/C++ > 常规”属性页并将您的文件夹添加到“附加包含目录”列表中。

于 2013-07-27T22:10:38.407 回答
1

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

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

#include "..\console.h"

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

#include "includes\console.h"
于 2013-07-27T22:11:09.133 回答
0

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

例如:

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

或者:

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

如果您使用的是visual studio,您可以将文件夹的目录添加到项目的头目录中。

于 2013-07-28T06:41:23.927 回答