天天看點

無法解析的外部符号 _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版本亂掉了 

繼續閱讀