项目中无法识别CodeBlocks文件
CodeBlocks files not recognized in project
我已经使用代码块很长时间了,但从未真正将我的程序变成真正的代码块项目。我今天试着这么做,但由于代码块无法识别我的文件,我一直出现错误。以下是我所拥有的:---->代码块包括错误
当我试图构建我的项目时,我会发现cout、cin和我的类对象没有在我的menu.cpp文件中定义。所以我只能猜测代码块没有正确处理文件。
如果有人能帮我解释为什么会发生这种事,我会很高兴。
提前感谢:)
当我试图构建我的项目时,我会发现cout、cin和我的类对象没有在我的menu.cpp文件中定义。
那是因为他们不是。#include
在menu.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>
放在实际需要的文件中,而不是放在头文件中。
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 如何确定我已使用非编码文件到达 EOF?
- 命名空间中具有.h和.cpp文件的类
- 如何使用ndk-build.cmd构建Android.so文件
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 使用 CodeBlocks + GCC 构建的可执行文件是否可以在任何 Windows 上运行?
- Mac上的CodeBlocks没有读取文件
- CodeBlocks MinGW版本找不到文件,必须手动包含在链接器中
- 如果我想编写一个C程序,是否在CodeBlocks中选择C或C 文件真的很重要
- Arduino的CodeBlocks:没有这样的文件或目录
- C++[Codeblocks/Visual Studio]中没有这样的目录或文件
- 项目中无法识别CodeBlocks文件
- CodeBlocks c++输出文件
- 如何从CodeBlocks中的文本文件中读取输入