(1)重复定义全局变量。解决办法,在单个cpp文件中定义变量如 int g_iCounter,其它位置使用此变量时,用extern关键字进行修饰,如extern int g_iCounter。
(2)头文件重复包含。解决办法,在头文件中加入相应宏:
#ifndef MY_H_FILE //如果没有定义这个宏
#define MY_H_FILE //定义这个宏
……. //头文件主体内容
…….
#endif
也可以使用预编译来做,在头文件中加入:
#pragma once
//头文件主体
(3)第三方库冲突。如C运行期函数库和MFC的库,需要通过设置编译环境来解决。
(4)函数体放在了头文件中。建立*.cpp文件用于保存函数体可避免此问题,需要注意的是,如果在编译环境中设置了进行预编译,那么在该cpp文件头上需要加上一条#include "stdafx.h"。否则会报错误:“fatal error C1010:unexpected end of file while looking for precompiled header directive”。