我正在使用codeblock,我的编译器设置是 [-std=c++0x]
. 我用以下代码创建了一个简单的项目:
main.cpp
#include <iostream>
#include "Cat.h"
using namespace std;
int main() {
Cat action;
action.meow();
action.jump();
return 0;
}
Cat.h
#ifndef CAT_H_INCLUDED
#define CAT_H_INCLUDED
class Cat {
public:
void meow();
void jump();
};
#endif // CAT_H_INCLUDED
CatProcess.cpp
#include <iostream>
#include "Cat.h"
using namespace std;
void Cat::meow() {
cout << "meow" << endl;
}
void Cat::jump() {
cout <<"jump" << endl;
}
Error messages:
当我构建并运行整个项目时,我的IDE上的main.cpp第8行出现此错误:
未定义引用'Cat :: meow()'
当我构建并运行 CatProcess.cpp
时,会出现此错误:
错误:找不到文件的目标
Build log:
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退出状态
1 回答
默认情况下,在创建新源文件时,Code :: Blocks不会将其添加到任何构建目标 . 创建文件时,有两个复选框 - Debug和Release . 如果要将已创建的文件添加到目标,请在codeblocks - > Properties - > Build中右键单击该文件,然后选中Debug and Release .