dll

C++無法解析的外部符號

Posted by Lu's Blog on August 3, 2022

VS顯示 錯誤 LNK2001 無法解析的外部符號

解決方法

  1. 確認組態屬性→連結器→輸入→其他相依性是否有包含到需要的lib
  2. 組態屬性→連結器→系統→子系統→看是主控台應用程式或是WINDOWS
  3. 確認lib版本是否正確,是要使用Release/Debug,或是for x64/x86 的,可能會造成define或 typedef 不一樣
  4. 如果在signleton案例中,遇到getInstance一直出現「無法解析的外部符號」的問題: 需要對靜態變數instance進行初始化
  5. 確認組態屬性 → C/C++ → 程式碼產生 → 執行階段程式庫 與 要被引用的library一不一樣 舉例來說 ccutils 屬性為/MDd,但預設是/MTd,就會發生錯誤。