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