很抱歉发布这么低级的初学者的问题,但我仍然不知道我的方式围绕Visual Studios。我正在尝试在C ++ Visual Studios中编译代码:
#include "Banana.h"
int main(int argc, char* argv[])
{
fruit::Banana banana;
banana.dance();
return 0;
}
我收到了错误
致命错误C1083:无法打开 包含文件:'Banana.h':没有这样的 文件或目录
但是在我正在使用的项目下的解决方案资源管理器中,有一个标记为“fruit / Header Files”的源文件夹,在该文件夹中是“Banana.h”。我认为同一项目中源文件夹中的所有内容都自动在源路径上。是什么给了什么?
答案 0 :(得分:17)
您需要配置其他包含路径。如果您转到“项目属性”,则会在顶部的Configuration Properties
,C/C++
下找到它。
答案 1 :(得分:4)
解决方案资源管理器不显示.h文件是否实际可用。头文件是否可用取决于它是否可访问,这由要包含的目录列表确定。我认为该解决方案包含头文件,因此它知道如果它们发生更改就重新编译。
答案 2 :(得分:2)
右键单击源代码文件的选项卡标题,然后选择open file location
。然后,从那里开始尝试找到Banana.h
文件并将其移动到同一目录(并将其重新添加到解决方案中),或相应地更改#include
行。您还可以将Banana.h
所在的目录添加到包含路径列表(project settings -> c++ -> include directories
)。
答案 3 :(得分:0)
这非常令人困惑,因为解决方案管理器使用虚拟文件路径,而#include使用真正的文件路径。这样,您可以在SM中创建过滤器并且不更改磁盘,并添加您不能包含的文件等。