1. 程式人生 > >MSVCRTD.lib(crtexew.obj) : error LNK2019: 無法解析的外部符號

MSVCRTD.lib(crtexew.obj) : error LNK2019: 無法解析的外部符號

一,問題描述 MSVCRTD.lib(crtexew.obj) : error LNK2019: 無法解析的外部符號 [email protected],該符號在函式 ___tmainCRTStartup 中被引用 Debug\jk.exe : fatal error LNK1120: 1 個無法解析的外部命令

error LNK2001: unresolved external symbol [email protected] debug/main.exe:fatal error LNK 1120:1 unresolved externals error executing link.exe;

二,原因及解決辦法 產生這個問題的真正原因是c語言執行時找不到適當的程式入口函式,

一般情況下,如果是windows程式,那麼WinMain是入口函式在VS2010中新建專案為“win32專案”

如果是dos控制檯程式,那麼main是入口函式在VS2010中新建專案為“win32控制檯應用程式”

而如果入口函式指定不當,很顯然c語言執行時找不到配合函式,它就會報告錯誤。

修改設定適應你的需求

如果你需要的是windows程式:

1.選單中選擇 Project->Properties, 彈出Property Pages視窗

2.在左邊欄中依次選擇:Configuration Properties->C/C++->Preprocessor,然後在右邊欄的Preprocessor Definitions對應的項中刪除_CONSOLE, 新增_WINDOWS.

3.在左邊欄中依次選擇:Configuration Properties->Linker->System,然後在右邊欄的SubSystem對應的項改為Windows(/SUBSYSTEM:WINDOWS)

如果你需要的是控制檯程式:

1.選單中選擇 Project->Properties, 彈出Property Pages視窗

2.在左邊欄中依次選擇:Configuration Properties->C/C++->Preprocessor,然後在右邊欄的Preprocessor Definitions對應的項中刪除_WINDOWS, 新增_CONSOLE.

3.在左邊欄中依次選擇:Configuration Properties->Linker->System,然後在右邊欄的SubSystem對應的項改為CONSOLE(/SUBSYSTEM:CONSOLE)