CodeBlocks链接时报未找到错误

来源:互联网 发布:昆山淘宝招聘信息 编辑:程序博客网 时间:2024/06/06 15:14

编写带有头文件的类和其实现分别放在不同的文件中,在VC++中正常编译链接执行,

而在CodeBlocks中出现如下错误:

||=== xz, Debug ===|
obj\Debug\main.o||In function `main':|
F:\demo\CodeBlocks\xz\main.cpp|7|undefined reference to `LinkedList::LinkedList()'|
F:\demo\CodeBlocks\xz\main.cpp|8|undefined reference to `LinkedList::getNum()'|
||=== Build finished: 2 errors, 0 warnings (0 minutes, 0 seconds) ===|

出现如下错误,网上有分析说链接时,没有把相关所有文件一起编译链接,才导致的,

我觉的也是这个原因,但是都没有给出解决方法。

在VC++中是不会出现这个错误的,因为VC++自动把所有文件一起编译链接了,而

CodeBlocks需要设置才可以,下面是我自己找到的简单的解决方法。主要的意思就

是在编译链接时将所有文件包含进来。

1、你建立的C或者C++文件是默认是不会自动保存到当前的编译目标中的,所以当

你点击build按钮时,编译目标是工具栏中的Build target: Debug(Release),而Debug

目标中是没有你的C或者C++文件的,所以将文件选中就可以正确编译了。如下图:

2、CodeBlocks是编译目标的,build target ,如下图:

3、CodeBlocks是可以建立自己的编译目标,一定要选中项目(加粗或者黑体),然

后建立当前编译目标,如下图:

 

 

解决方法:

1、选中当前项目,工具栏--->Project--->Properties--->Build targets--->Debug--->Build target files

将所有文件选中,就可以正常编译了;

2、在新建C/C++文件时,将文件加载到目标中,NewTarget是我已经建好的编译目标,如下图: