error LNK2019: 無法解析的外部符號 "public: __thiscall acl::TcpClient::TcpClient(void)"
引用於函數 "public: __thiscall CTcpClient::CTcpClient(void)"
項目中混合使用了不同運行時庫版本:
鏈接器檢測到運行時庫類型不一致,拒絕生成可執行文件。
統一全項目運行時庫設置:
| 配置 | 推薦設置 | 宏定義 |
|---|---|---|
| Debug | 多線程調試 (/MTd) | _DEBUG, _MT |
| Release | 多線程 (/MT) | NDEBUG, _MT |
關鍵原則:同一解決方案內所有項目、所有源文件必須使用相同運行時庫類型。引用第三方靜態庫時,確保其編譯時的運行時庫與主項目一致。
/MD//MDd:動態鏈接MSVCRT.dll,體積小但有部署依賴/MT//MTd:靜態鏈接,獨立部署但體積大/MT和/MD同樣會導致LNK2019