安装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

 

  

 

 

 

 

 

**------------恢复内容结束------------**
posted @ 2021-03-01 11:05  大雪碧  阅读(2727)  评论(0编辑  收藏  举报