安装VS2010后运行C++程序时提示——error LNK2019: 无法解析的外部符号 _WinMain@16 的解决办法
安装VS2010后,运行C++程序时报如下错误:
MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
原因是我们这里是用的dos控制台程序,而新建这个test项目时我是选的win32项目,而VS2010默认的入口函数是供windows程序使用
的WinMain而不是main,所以会报此错误。
如果想让程序能够运行,需要修改预处理器定义和链接器子系统,具体操作如下:
1.点击项目->属性(或使用Alt+F7快捷键)调出项目属性页
2.在属性页面中打开“C/C++”中的“预处理器”,然后编辑“预处理器定义”
3.我们看到默认的预处理器定义如下
需要将图中的_WINDOWS改成_CONSOLE
4.然后进入“链接器”中的“系统”,修改“子系统”中的选项改为“控制台 (/SUBSYSTEM:CONSOLE)”
点击确定,就可以开始运行了。
如果以后需要以WinMain作为入口函数,再改回去就可以了。
参考地址:https://blog.csdn.net/playstudy/article/details/6661868
https://blog.csdn.net/luoyayun361/article/details/84403579
**------------恢复内容开始------------**
安装VS2010后,运行C++程序时报如下错误:
MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
原因是我们这里是用的dos控制台程序,而新建这个test项目时我是选的win32项目,而VS2010默认的入口函数是供windows程序使用
的WinMain而不是main,所以会报此错误。
如果想让程序能够运行,需要修改预处理器定义和链接器子系统,具体操作如下:
1.点击项目->属性(或使用Alt+F7快捷键)调出项目属性页
2.在属性页面中打开“C/C++”中的“预处理器”,然后编辑“预处理器定义”
3.我们看到默认的预处理器定义如下
需要将图中的_WINDOWS改成_CONSOLE
4.然后进入“链接器”中的“系统”,修改“子系统”中的选项改为“控制台 (/SUBSYSTEM:CONSOLE)”
点击确定,就可以开始运行了。
如果以后需要以WinMain作为入口函数,再改回去就可以了。
参考地址:https://blog.csdn.net/playstudy/article/details/6661868
https://blog.csdn.net/luoyayun361/article/details/84403579
**------------恢复内容结束------------**