錯誤現象
在 Visual Studio 2010 建立空專案、添加 .cpp/.h 後編譯報錯:
fatal error LNK1561: 必須定義入口點
根因分析
空專案預設為主控台子系統,鏈接器尋找 main/wmain 入口;若專案實為 Windows GUI 應用(如 SDL/MFC),入口點為 WinMain,子系統設置不匹配導致鏈接失敗。
兩步修復方案
- 修改子系統為 Windows 應用程式
專案屬性 → Linker → System → SubSystem → 選 Windows (/SUBSYSTEM:WINDOWS)。

- 運行時庫設為多線程 DLL
專案屬性 → C/C++ → Code Generation → Runtime Library → 選 Multi-threaded DLL (/MD)。
(具體原因待考,但此配置常能解決 SDL/MFC 專案的鏈接衝突。)
適用場景
- 使用 SDL、MFC、Win32 API 開發 GUI 程式
- 專案入口為
WinMain 或框架自帶入口
- 空專案模板創建的非主控台專案
驗證
修改後重新建置,錯誤消失,程式正常啟動顯示窗口。