项目中无法识别代码块文件
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>
放在您实际需要的那些文件中,而不是头文件中。
我已经使用代码块很长时间了,但从未真正将我的程序变成实际的代码块项目。我今天尝试这样做,但由于代码块无法识别我的文件,我不断出错。这是我所拥有的:----> 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>
放在您实际需要的那些文件中,而不是头文件中。