首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

解決 VS2010 中 SDL/MFC 專案 LNK1561「必須定義入口點」錯誤

     編輯:關於C語言

錯誤現象

在 Visual Studio 2010 建立空專案、添加 .cpp/.h 後編譯報錯:
fatal error LNK1561: 必須定義入口點

根因分析

空專案預設為主控台子系統,鏈接器尋找 main/wmain 入口;若專案實為 Windows GUI 應用(如 SDL/MFC),入口點為 WinMain,子系統設置不匹配導致鏈接失敗。

兩步修復方案

  1. 修改子系統為 Windows 應用程式
    專案屬性 → Linker → System → SubSystem → 選 Windows (/SUBSYSTEM:WINDOWS)。
    子系統設置 SubSystem選項
  2. 運行時庫設為多線程 DLL
    專案屬性 → C/C++ → Code Generation → Runtime Library → 選 Multi-threaded DLL (/MD)。
    (具體原因待考,但此配置常能解決 SDL/MFC 專案的鏈接衝突。)

適用場景

  • 使用 SDL、MFC、Win32 API 開發 GUI 程式
  • 專案入口為 WinMain 或框架自帶入口
  • 空專案模板創建的非主控台專案

驗證

修改後重新建置,錯誤消失,程式正常啟動顯示窗口。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved