簡體   English   中英

Visual C++:作為“多線程調試 DLL”的發布模式運行時庫

[英]Visual C++: Runtime Library of Release Mode as 'Multi-threaded Debug DLL'

在這里,我問我在通過“發布模式”構建 Visual C++ 代碼時收到 LNK2001 錯誤,即使我在“發布”和“調試”模式之間的所有配置設置都是相同的(至少我更改的那些已經通過'所有配置')。

我可以通過更改發布模式來解決這個問題:配置屬性 -> C/C++ -> 代碼生成 -> 運行時庫從“多線程 DLL (/MD)”到“多線程調試 DLL (/MDd)”。 這告訴我什么? 我做了什么奇怪的事情(從調試中獲取 Release 的運行時庫)? 或者這是否意味着我的“發布”配置是錯誤的?

我建議你可以參考鏈接器工具錯誤 LNK2001

如果在構建應用程序的調試版本時鏈接到發布模式庫。 類似地,如果您使用選項 /MTd 或 /MDd 或定義 _DEBUG 然后鏈接到發布庫,您應該會遇到許多潛在的未解決的外部問題,以及其他問題。 將發布模式構建與調試庫鏈接也會導致類似的問題。 要解決此問題,請確保在調試版本中使用調試庫,並在零售版本中使用零售庫。

就我而言,您正在以發布模式鏈接調試 DLL。 您應該確保在調試版本中使用調試庫,並在零售版本中使用零售庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM