构建错误:"找不到文件的目标"和"未定义的引用"

时间:2018-06-05 09:51:04

标签: c++ codeblocks

我正在使用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;
}

错误讯息:

当我构建并运行整个项目时,我的IDE上的main.cpp第8行显示此错误:

  

未定义参考&#39; Cat :: meow()&#39;

当我构建并运行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:在函数&#39; main&#39;:   C:/Users/Im_so/Documents/CodeBlock_Projects/ClassesForCats/main.cpp:8:未定义引用&#39; Cat :: meow()&#39;

     

C:/Users/Im_so/Documents/CodeBlock_Projects/ClassesForCats/main.cpp:9:未定义引用&#39; Cat :: jump()&#39;

     

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

1 个答案:

答案 0 :(得分:4)

默认情况下,在创建新源文件时,Code :: Blocks中不会将其添加到任何构建目标。创建文件时,有两个复选框 - Debug和Release。如果要将已创建的文件添加到目标,请右键单击codeblocks中的文件 - &gt;属性 - &gt;构建并检查调试和发布。