关于VC++编译运行出现错误的问题!请教高手解决!

源程序如下:
#include<iostream>
using namespace std;
int main()
{
int c;
cout<<"enter a sentence:"<<endl;
while((c=cin.get())!=EOF)
cout.put(c);
return 0;
}

编译能通过,但是运行时出现如下错误:
--------------------Configuration: 1369 - Win32 Debug--------------------
Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/1369.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

1369.exe - 1 error(s), 0 warning(s)
请教啊!
我是在VC++6.0里运行的,可是有很多程序总是运行不了,我的系统是win7,装好VC++6.0后有些程序能用,可是很多还是不能用。是什么原因呢?那些程序都是书上的源程序。感谢!

产生这个错误的原因是没有为wWinMainCRTStartup设定程序入口,你应该是在新建工程时没有注意到建立的是Win32 Application还是Win32 Console Application的工程,因为Win32 Application的入口函数为WinMain,而Win32 Console Application的入口函数是main
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-04
你错误的使用了UINCODE的MFC写了console的程序,你没有为wWinMainCRTStartup创建入口,使用/ENTRY即可。

或者,重建工程,选择CONSOLE的模式,拷入代码重新编译,即可通过。
第2个回答  2011-01-04

我用vs2005成功执行了,你试试把debug那个文件夹给删了,再重新执行。

第3个回答  2011-01-04
原因其他几位基本说清楚了.
VC6.0下具体操作步骤为
1. [Project] --> [Settings] --> 选择"C/C++"属性页
将Preprocessor definitions中
_MBCS宏换成UNICODE, _UNICODE宏
2. [Project] --> [Settings] --> 选择"Link"属性页,
在Category中选择Output,
再在Entry-point symbol中填入wWinMainCRTStartup, 即可

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网