VS2015 error LNK2019无法解析的外部符号 _WinMain@16,该符号在函数 int __cdecl invoke_main(void)
前言
上一篇文章中,為了編譯OpenCV的示例代碼,然后搭建環境, 最后想直接運行示例demo,我在創建新工程的時候,直接創建了一個win32窗口項目,然后環境配置完成后,將opencv 的示例代碼kalman.cpp直接導入到新建的vs工程中進行編譯,直接報錯:
錯誤 LNK2019 無法解析的外部符號 _WinMain@16,該符號在函數 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用 opencvDemo E:\MyWork\VSProject\opencvDemo\opencvDemo\MSVCRTD.lib(exe_winmain.obj) 1經過網上查找問題,終于找到原因,是因為c語言運行時找不到適當的程序入口函數,一般情況下,如果是windows程序,那么WinMain是入口函數,就比如我這里創建的“win32項目”
如果是dos控制臺程序,那么main是入口函數,新建項目為“win32控制臺應用程序”
而如果入口函數指定不當,很顯然c語言運行時找不到配合函數,它就會報告錯誤。
所以我這里出錯的原因是我導入的kalman.cpp是一個dos控制臺程序,但是我新建項目時選擇的是“win32項目”,這時候修改一下配置就可以了。
解決辦法:
右鍵工程名, 打開屬性,依次找到以下路徑:
然后將這里的_WINDOWS刪除,并添加_CONSOLE
接下來再依次點擊如下路徑:
將這里的子系統切換為“控制臺”,修改完成后再次編譯即可。
相反,如果是windows程序,就按照相反的設置來配置即可,這里就不再贅述了。
參考地址:https://blog.csdn.net/playstudy/article/details/6661868
總結
以上是生活随笔為你收集整理的VS2015 error LNK2019无法解析的外部符号 _WinMain@16,该符号在函数 int __cdecl invoke_main(void)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一次性配置VS2015属性的方法,新工程
- 下一篇: Qt for ios 打开图片和 off