项目中无法识别CodeBlocks文件

CodeBlocks files not recognized in project

本文关键字:CodeBlocks 文件 识别 项目      更新时间:2023-10-16

我已经使用代码块很长时间了,但从未真正将我的程序变成真正的代码块项目。我今天试着这么做,但由于代码块无法识别我的文件,我一直出现错误。以下是我所拥有的:---->代码块包括错误

当我试图构建我的项目时,我会发现cout、cin和我的类对象没有在我的menu.cpp文件中定义。所以我只能猜测代码块没有正确处理文件。

如果有人能帮我解释为什么会发生这种事,我会很高兴。

提前感谢:)

当我试图构建我的项目时,我会发现cout、cin和我的类对象没有在我的menu.cpp文件中定义。

那是因为他们不是。#includemenu.cpp中既没有iostream也没有class.h,因此无法访问其中的声明。

请注意,代码块(就像任何正确设置的构建工具一样)将分别编译每个cpp文件。这意味着它不仅将编译menu.cpp作为main.cpp编译的一部分(因为您包含了它),而且还将自己编译它。在后一种情况下,main.cpp中的includes将不可用,因此menu.cpp需要自己的includes。

这也意味着,一旦它编译(即,一旦添加了includes),就会出现链接器错误,因为menu.cpp中的定义现在定义了两次(一次在main.o中,因为您在main.cpp中包含了menu.cpp,一次在menu.o中)。这就是为什么永远不应该将cpp文件相互包含的原因。

附言:这与您的问题无关,但在头文件中使用using namespace被认为是不好的做法。你应该把它放在你的cpp文件中(如果你想使用它的话)。您还应该将#include <iostream>放在实际需要的文件中,而不是放在头文件中。