C++多文件项目编译

来源:互联网 发布:android 7.0源码分析 编辑:程序博客网 时间:2024/06/10 22:54

在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"


包含进来。

如上,以后有新发现再改。