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

为什么Compile时可以成功,但是Build的时候就总说有异常

2012-02-20 
为什么Compile时可以成功,但是Build的时候就总说有错误Linking...2-3.obj:errorLNK2005:_mainalreadydefin

为什么Compile时可以成功,但是Build的时候就总说有错误
Linking...
2-3.obj   :   error   LNK2005:   _main   already   defined   in   2-2.obj
Debug/Project.exe   :   fatal   error   LNK1169:   one   or   more   multiply   defined   symbols   found
Error   executing   link.exe.

Project.exe   -   2   error(s),   0   warning(s)


//2_3.cpp
//比较两个数的大小
//分析:将两个数x和y进行比较,结果有3种可能性:x=y,   x> y,   x <y。因此需要进行多次判断,
//要用多重选择结构,这里我们选用嵌套的if...else语句。
//源程序:
//
#include <iostream.h>
void   main()
{
        int   x,y;
        cout   < <   "请输入   x   和   y   的值: ";
        cin   > >   x   > >   y;
        if   (x!=y)
                if(x> y)
                        cout   < <   "x> y "   < <   endl;
                else
                        cout   < <   "x <y "   < <   endl;
        else
                cout   < <   "x=y "   < <   endl;
}
//运行结果1:
//   请输入   x   和   y   的值:5   8
//x <y
//运行结果2:
//   请输入   x   和   y   的值:8   8
//x=y
//运行结果3:
//   请输入   x   和   y   的值:12   8
//x> y




[解决办法]
看起来应该是你在同一个工程里面加了多个CPP,这些CPP都有自己的main,所以在Link阶段出错了,因为main是外部符号,不能有重复的。
Compile是编译.cpp/.c文件成.obj
Build会先Compile成.obj,再把.obj link成.exe/.dll,就是在这一步出错的(实际情况下Build作的事情会包括很多其他的步骤,可以自定义)
把你的多个CPP放在多个Project就好了

热点排行