首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

#include cpp文件的有关问题

2012-02-19 
#include cpp文件的问题惭愧……同一project两源文件A.cpp和B.cpp//A.cpp#include iostreamusingnamespace

#include cpp文件的问题
惭愧……
同一project两源文件A.cpp和B.cpp
//A.cpp
#include <iostream>
using   namespace   std;
int   fdfdfuuy()
{
cout < < "a ";
return   0;
}

//B.cpp
#include "A.cpp "
int   main()
{
cout < < "abc ";
getchar();
return   0;

}
自己是这样想的,用#include已将A.cpp嵌入到B.cpp中进行编译,应该没问题,但不知道为什么,VC2005和6.0下通不过编译……错误提示如下:
1> ------   已启动生成:   项目:   stack,   配置:   Debug   Win32   ------
1> 正在编译...
1> B.cpp
1> A.cpp
1> 正在生成代码...
1> 正在链接...
1> B.obj   :   error   LNK2005:   "int   __cdecl   fdfdfuuy(void) "   (?fdfdfuuy@@YAHXZ)   已经在   A.obj   中定义
1> B.obj   :   error   LNK2005:   "int   __cdecl   fdfdfuuy(void) "   (?fdfdfuuy@@$$FYAHXZ)   已经在   A.obj   中定义
1> F:\new\stack\Debug\stack.exe   :   fatal   error   LNK1169:   找到一个或多个多重定义的符号
1> 生成日志保存在“file://f:\new\stack\stack\Debug\BuildLog.htm”
1> stack   -   3   个错误,0   个警告
==========   生成:   0   已成功,   1   已失败,   0   最新,   0   已跳过   ==========

苦思不解啊,恳求达人指点迷津,顺便请指点一下#include包含cpp文件的用法特点或者include的用法……thx

[解决办法]
因为A.cpp的文件本身编译了一次,又被嵌入到B.cpp中编译一次,理所当然地会出现这个问题。
[解决办法]
原因如“ akirya”所说:
如果你是在想把文件放在B中编译,那么
将文件A改名为A.h文件,这样编译器不会对头文件进行编译

热点排行