无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
一,問題描述
MSVCRTD.lib(crtexew.obj) : error LNK2019:?無法解析的外部符號?_WinMain@16,該符號在函數?___tmainCRTStartup?中被引用?
Debug\jk.exe : fatal error LNK1120: 1?個無法解析的外部命令
error LNK2001: unresolved external symbol _WinMain@16
debug/main.exe:fatal error LNK 1120:1 unresolved externals?
error executing link.exe;
二,產生這個問題可能的原因
產生這個問題的真正原因是c語言運行時找不到適當的程序入口函數,一般情況下,如果是windows程序,那么WinMain是入口函數,如果是dos控制臺程序,那么main是入口函數,而如果入口函數指定不當,很顯然c語言運行時找不到配合函數,它就會報告錯誤。
可能:
1, 你用vc建了一個控制臺程序,它的入口函數應該是main, 而你使用了WinMain.
2. 你用vc打開了一個.c/.cpp 文件,然后直接編譯這個文件,這個文件中使用了WinMian而不是main作為入口函數。vc這時的默認設置是針對控制臺程序的。
3.根本就沒有WinMain或Main函數。
三, 解決方法
1.進入project->setting->c/c++, 在category中選擇preprocessor,在processor definitions中刪除_CONSOLE, 添加_WINDOWS
2.進入project->setting->Link, 在Project options中將 /subsystem:console改為/subsystem:windows.
3.保存設置,Rebuild All.
---------------------------轉
mine: 添加main()
?
又遇到一次無法解析的外部符號
?
是因為在.h中聲明的方法 沒有在.cpp中定義
?
?
?
又又一次遇到?無法解析的外部符號 "__declspec(dllimport)。。。。這個是lib 沒配好 ? 就是需要在 項目屬性-》鏈接器-》輸入-》附加依賴庫 里把相應的XXX.lib加進去
又又又遇到了 .obj無法解析的外部符號 ?后面無法解析的那個函數 的位置 找到相應的lib 添加到依賴庫里
又又又又又又。。。是因為 諸多lib版本亂掉了?
總結
以上是生活随笔為你收集整理的无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GPG软件签名与验证
- 下一篇: Java四种线程池的使用