程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> vs工程鏈接出現error LNK2005...already defined

vs工程鏈接出現error LNK2005...already defined

編輯:C++入門知識

今天使用vs2008編譯工程無錯誤,鏈接過程,出現很多這樣的錯誤:

error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in msvcprtd.lib(MSVCP90D.dll)

這個錯誤,提示的意思應該是標准庫的類已經被定義過了,但找了半天也沒發現哪裡重復定義,後來發現,原來我的工程使用的是lib庫,而vs2008的工程設置的代碼生成方式是dll庫:

在property->configure->c/c++->code generation->runtime library

將Multi-threaded Debug DLL (/MDd)

改為Multi-threaded Debug (/MTd)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved