在codeblocks里编译一个含有多个文件的项目。
编译中出现很多错误。
NOTE 1:
如果项目中含有多个头文件,注意会出现“重复”问题。原因是主文件里会连续include每个头文件,但是每一个源文件里都会包含#include ,这样难免会重复定义产生冲突。解决的方法是在每一个头文件里加上这么几行代码:
#ifndef Point_H_INCLUDED //注意:ifndef后面按标示符定义规则随便定义一个变量,起标识作用。ifndef是“if not define”的意思,这是个判断句。
#define Point_H_INCLUDED
……
#endif
NOTE 2:
头文件里可能也要包含另外一些头文件,因为头文件里出现了一些东西,没有声明,注意虽然是头文件,但是编译的时候还是一个个单独编译的,所以每个文件该有的还是要有。例如:
friend ostream& operator << (ostream & ,const Circle &);
这个头文件里声明了一个友元函数,那么就必须在头文件里加上:
#include <iostream>
using namespace std;
声明类的时候声明了继承关系
class Circle:public Point{
那么就必须把
#include "12_1_Point.h"
包含进来。
如上,以后有新发现再改。