VS2008编译C++的奇怪错误

2025-02-21 17:20:44
推荐回答(5个)
回答1:

这个不奇怪,重新编译一下就可以了!

Rebuild 你的工程,应该就可以了
Build是不行的,要用Rebuild

郁闷啊,F7是编译解决方案,ctrl+f5是重新编译当前工程并运行

简单的解释是这样,main入口是有很多种写法的,比如
1 void main()
2 int main()
等等

编译器(注意这里是编译器)会生成obj,然后将obj交给链接器处理,/SUBSYSTEM:CONSOLE这个参数告诉链接器,你要生成控制台应用程序,所以链接器就会找你的main函数,他发现你的main函数是第2种,所以编译器会记录下来,这样下次编译就不用去搜索了,这个时候你就偏偏把main改成1那种形式了,再按F7的时候,只会编译你修改的,所以链接器认为你的main函数还是2那种形式,但是实际上你已经修改成了1那种形式,于是就找不到,就报错了,而Ctrl+F5的时候,你是重新编译整个项目,以前关于main函数的信息全部清除,重新再来,这个时候,链接器发现的是1,所以就可以通过并运行

解释真累啊

拜托这么多字,多给点分

回答2:

建议重新建一个空项目试试,可能是你建的项目类型跟main函数的形式不对头。
注意,在vs2005中,是可以正常运行的,我试过啦。而且,现在的vs2008还不完善的,建议先别用啦。

回答3:

恩, 二楼正解。
你的工程创建错了。

回答4:

不知道这样行不行~

项目-属性-链接器-系统-子系统选择 控制台(/SUBSYSTEM:CONSOLE)

试试看吧~ 不行勿怪~

回答5:

你可能建错工程了,你是不是选了“Win32项目”?应该选"Win32控制台应用程序"这项