obj\Debug\main.o||In function `main':|
F:\demo\CodeBlocks\xz\main.cpp|11| undefined reference to `LinkedList::LinkedList()'|||
=== Build finished: 1 errors, 0 warnings (0 minutes, 0 seconds) ===|
链接错误,在VC++中没有这个错误,网上有说,是VC++自动把目标文件链接到一起了,但是
CodeBlocks没有将头文件对应的实现包含进去链接,才导致这个错误,CodeBlock不可能将
类头文件和实现放在一起,也一定是分开写的,那在,CodeBlocks怎么实现?应该怎么配置?
才可以解决没有找到对应的实现这个问题?
源码:
list.h
#ifndef LIST_H_INCLUDED
#define LIST_H_INCLUDED
class LinkedList
{
public :
LinkedList();
~LinkedList();
void setNum( int num);
int getNum();
private :
int num;
};
#endif // LIST_H_INCLUDED
list.cpp
#inclde "list.h"
LinkedList::LinkedList()
{
this->num = 100;
}
void LinkedList::setNum( int num)
:num( num)
{
}
int LinkedList::getNum()
{
return this->num;
}
main.cpp
#include <iostream>
#include "list.h"
using namespace std;
int main()
{
cout << "Hello world!" << endl;
LinkedList *lst = new LinkedList();
return 0;
}
2 个解决方案
#1
确实如网上说的没有将所有文件编译链接,CodeBlocks是有编译目标的,
只要把所有文件添加到Build target中就可以了。
解决方法的链接地址:
http://blog.csdn.net/littlealamo/article/details/9256645
只要把所有文件添加到Build target中就可以了。
解决方法的链接地址:
http://blog.csdn.net/littlealamo/article/details/9256645
#2
不把文件添加到Build target自然就不编译了,然后就是链接错误了。
#1
确实如网上说的没有将所有文件编译链接,CodeBlocks是有编译目标的,
只要把所有文件添加到Build target中就可以了。
解决方法的链接地址:
http://blog.csdn.net/littlealamo/article/details/9256645
只要把所有文件添加到Build target中就可以了。
解决方法的链接地址:
http://blog.csdn.net/littlealamo/article/details/9256645
#2
不把文件添加到Build target自然就不编译了,然后就是链接错误了。