C++编译成功了,调试没有成功?
一个小代码段#include<iostream>usingnamespacestd;voidmain(){unsignedintx;unsignedinty=100;un...
一个小代码段 #include <iostream> using namespace std; void main() { unsigned int x; unsigned int y=100; unsigned int z=50; x=y-z; cout<<"Difference is:"<<x; x=z-y; cout<<"\nNow difference is:"<<x<<endl; } 编译成功了,调试没有成功,下面是错误信息的提示,高手给分析一下,到底那里错了? LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 Debug/2.exe : fatal error LNK1120: 1 unresolved externals
展开
1个回答
展开全部
链接没有成功.linker会把相关的库、startup code和你写的入口函数(你的是main)链接起来.入口函数分main和WinMain, linker是根据链接开关/subsystem:windows或/subsystem:console来确定去找WinMain还是找main,如果它找不到想要的它会说:unresolved external symbol ... 是的,它现在想要的是WinMain,而你给的是main. 让它找main而非Winmain的一个方法是,把"/subsystem:windows"去掉. /subsystem:windows 在projects->Settings...->Link页面最下面哪个大框里面(请拉一下滚动条,谢谢). 为什么写在里面的是/subsystem:windows而不是/subsystem:console? 因为你选工程类型的时候选错了,你应该选Win32 Console Application而不是Win32 Application.所以解决的第二种方法是,重建一个工程,选对类型.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询