项目中无法识别代码块文件

CodeBlocks files not recognized in project

我已经使用代码块很长时间了,但从未真正将我的程序变成实际的代码块项目。我今天尝试这样做,但由于代码块无法识别我的文件,我不断出错。这是我所拥有的:----> CodeBlocks Include Error

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

如果有人能帮我弄清楚为什么会这样,我会很高兴。

提前致谢:)

When I try to buiild my project I get that cout,cin and my class objects are not defined in my menu.cpp file.

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

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

这也意味着一旦它编译(即一旦你添加了包含),你会得到一个链接器错误,因为来自 menu.cpp 的定义现在被定义了两次(一次在 main.o -- 因为你在 main.cpp 中包含了 menu.cpp -- 并且在 menu.o 中包含了一次)。这就是为什么你永远不应该将 cpp 文件包含到彼此中的原因。

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