【发布时间】:2012-10-22 10:47:41
【问题描述】:
我遇到了编译错误(红色下划线)的问题,例如:
Error: cannot open source file "stdafx.h"
这里是编辑后的环境截图:
左侧是我的 Visual Studio 解决方案目录列表,其中“显示所有文件”已关闭。
我正在做一个学校项目,每个文件夹都是项目不同部分的源文件,由不同的人负责。
例如,学生 A 和 B 负责 AST 和 PARSER 文件夹(我们将它们称为子项目)。 我们为每个子项目都有一个 API,以便其他子项目知道要调用什么。
在 TOP-CENTER,我们有我的课程源文件QueryProcessor。 (只是前几行)
在其下方,是Build Success 的输出。
红线遍布所有类,主要是环境无法打开#include "stdafx.h"。
在右侧,即stdafx.h,我们包含所有不同的子项目,因此我们省去了每个项目都有不同的 stdafx.h 的麻烦
但是,我能够构建该项目。我很确定我做错了这个目录/链接。
【问题讨论】:
-
我有点困惑,通常 Visual Studio 没有任何子文件夹,因此使用 #include "PKB/PKB.h" 应该不起作用。如果您使用显示所有文件并为所有文件创建目录,这将是正确的。为什么 std 有下划线但仍在编译可能是因为其他一些类包含 iostream。啊,现在我明白了,你们创建了子文件夹,但禁用了显示所有文件,然后将文件包含到 Visual Studio 中的每个虚拟文件夹中,不是吗?
-
哦..我没有这样做,但我认为是这样。
-
所以我们需要在显示所有文件夹时包含文件?虚拟文件夹是什么意思?
-
虚拟文件夹是指你在VC中看到的文件夹并不是真正的文件夹。 VC 只会给人一种你有文件夹的错觉,但实际上所有文件都在一个目录中。但是您的教授或老师或创建此项目的人创建了这些虚拟文件夹,并将源文件包含在硬盘驱动器上的真实文件夹中。
标签: c++ visual-studio-2010 visual-c++