生成错误:"cannot find target for file"和"undefined reference"

Build errors: "cannot find target for file" and "undefined reference"

本文关键字:file for reference undefined target find 错误 cannot      更新时间:2023-10-16

我正在使用代码块,我的编译器设置为[-std=c++0x]。 我使用以下代码创建了一个简单的项目:

主.cpp

#include <iostream>
#include "Cat.h"
using namespace std;
int main() {
Cat action;
action.meow();
action.jump();
return 0;
}

#ifndef CAT_H_INCLUDED
#define CAT_H_INCLUDED
class Cat {
public:
void meow();
void jump();
};
#endif // CAT_H_INCLUDED

猫处理.cpp

#include <iostream>
#include "Cat.h"
using namespace std;
void Cat::meow() {
cout << "meow" << endl;
}
void Cat::jump() {
cout <<"jump" << endl;
}

错误消息:

当我构建并运行整个项目时,此错误出现在 IDE 的主.cpp第 8 行:

对"Cat::meow(("的未定义引用

当我构建并运行CatProcess.cpp时,会出现此错误:

错误:找不到文件的目标

构建日志:

mingw32-g++.exe -Wall -fexceptions -g -std=c++0x -c C:\Users\Im_so\Documents\CodeBlock_Projects\ClassesForCats\main.cpp -o obj\Debug\main.o

obj\Debug\main.o: 在函数 'main' 中: C:/Users/Im_so/Documents/CodeBlock_Projects/ClassesForCats/main.cpp:8:对"Cat::meow(("的未定义引用

C:/Users/Im_so/Documents/CodeBlock_Projects/ClassesForCats/main.cpp:9:对"Cat::jump(("的未定义引用

collect2.exe:错误:ld 返回 1 个退出状态

默认情况下,在 Code::Blocks 中创建新的源文件时,它不会添加到任何生成目标。创建文件时,有两个复选框 - 调试和发布。如果要将已创建的文件添加到目标,请在代码块 -> 属性 -> 生成 中右键单击该文件,然后选中调试和发布。