1. 程式人生 > >vs工程連結出現error LNK2005...already defined

vs工程連結出現error LNK2005...already defined

連結過程,出現很多這樣的錯誤:

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)" ([email protected][email protected]@[email protected]

@[email protected]@[email protected]@[email protected]@[email protected]) 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)

相關推薦

vs工程連結出現error LNK2005...already defined

連結過程,出現很多這樣的錯誤: error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator&l

LNK2005...already defined...ERROR

連結時出錯提示: LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit already defined in MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib(crt0dat.obj) : err

Error LINK2005: already defined in libcmt.lib

這個錯誤是微軟設計錯誤,因此如果遇到這個錯誤,我們只能躲過這個連結錯誤。具體的辦法就是將那個提示出錯的庫放到另外一個庫的前面。另外選擇不同的C函 數庫,可能會引起這個錯誤。MS, C有兩種C函式庫,一種是普通的函式庫:LIBC.LIB,不支援多執行緒。另外一種是支援多執行緒

VS編譯時出現error C4996 解決方法

1:使用安全的函式替換老的函式 2:遮蔽警告資訊1.#pragma warning(disable:4996) 2.在預編譯標頭檔案stdafx.h裡定義下面的巨集(include其他標頭檔案的最前面):   #define _CRT_SECURE_NO_DEPRECA

出現error LNK2005可能的錯誤

前言:?(•???•?)?今天要仔細地研究怎樣才能把我的迷宮程式應用在我的DirectX上。但是萬事開頭難啊,我在編輯程式的時候遇到了很多的問題。其中最離奇的是我在編輯程式的時候出現LNK 2005的錯誤。如果說LNK 2019的錯誤讓一年前的我摸不著頭腦的話,那麼LNK 2

IDEA跑代碼出現Error(7,8) ***App is already defined as object App object App extends Application { 錯誤的解決辦法(圖文詳解)

機器 strong ima 分析 挖掘 extend AS 收獲 qq群   不多說,直接上幹貨! 問題現象 Error(7,8) App is already defined as object App

error LNK2005:XXXX already defined in XXX.lib

設定工程時,出現類似如下錯誤: msvcprtd.lib(MSVCP80D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<ch

libcmtd.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrtd.lib(MSVCRTD.dll) 編譯錯誤解決方法

[問題描述] 今天在VC6下編譯G279軟體時,已編譯通過,連結時報一下錯誤: Linking...libcmtd.lib(crt0dat.obj) : error LNK2005: _exit already defined in msvcrtd.lib(MSVCRTD.d

Error LNK2005:exist already defined in msvcrt.lib(MSVCR100.dll)_LIBCMTD.lib 解決方案

 Project -- Setting -- C/C++ -- C++ Language Enable Run-Time Type Information(RTTI) 此項必須打勾! 但現在Debug版編譯ok,Release版編譯報錯: Linking... Crea

opencv配置問題:error LNK2005:XXXX already defined in XXX.lib

在配置opencv2410+VS2010時,debug可以成功生成解決方案,release不行,錯誤如下:錯誤 449 error LNK2005: "public: __int64 __thiscall std::basic_streambuf<char,struct

error LNK2005: __errno already defined in MSVCRTD.lib(MSVCR90D.dll)

Orignal url: http://blog.csdn.net/gxj1680/article/details/7239810 工程是vs2005編輯的ipmsg(從官網download的原始碼),但本地是vs2008的版本,編譯出現 1>LIBCMTD.lib(dbgheap.obj) : e

error LNK2005: __cinit already defined in libcmt.lib(crt0dat.obj)

用靜態庫去編譯,若出現下面錯誤:LIBC.lib(crt0dat.obj) : error LNK2005: __cinit already defined in libcmt.lib(crt0dat.obj)LIBC.lib(crt0dat.obj) : error LNK

AS匯入一個工程出現Error:please select Android SDK的錯誤

匯入一個新的工程出現:Error:please select Android SDK 的錯誤 現象描述:點選執行程式按鈕,彈出一個“Edit Configure”的對話方塊,最下面報:Error:please select Android 

連結錯誤nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??

最近在VC 6.0上作業,有幾個地方都遇到一個十分惱人的錯誤。就是出現下述的錯誤: Linking... nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" ([email

VS工程中[error C2872: “ACCESS_MASK”: 不明確的符號]的解決方法

具體資訊如下: 1>C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h(8534): error C2872: “ACCESS_MASK”: 不明確的符號 1> 可能是“C:\Program Files (x86)\

kei5編譯微控制器工程出現:*** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED

出現這個的原因是因為MDK51沒有註冊,還需用註冊機對keil5重新註冊 *** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED 以管理員身份開啟keil,註冊機選C51,進行註冊,顯示

faster-rcnn訓練時出現error == cudaSuccess (30 vs. 0)

./experiments/scripts/faster_rcnn_alt_opt.sh 0 ZF pascal_voc   使用這條命令訓練,出現下面這個錯誤 Check failed: error == cudaSuccess (30 vs. 0)  unknow

在C++控制檯專案中使用C工程程式碼時的注意,避免出現error LNK2019: 無法解析的外部符號

當我們在寫 C++控制檯專案時候,有時用到一些執行緒的演算法程式碼專案,這些程式碼專案是用c寫的。當使用時,需要在c的標頭檔案中標註如下內容,才能使得cpp檔案能夠編譯使用c的函式等,才避免在編譯時候出現error LNK2019: 無法解析的外部符號###,在_main中

Vs出現 error LNK2019: 無法解析的外部符號的解決參考

    今天編輯動態庫連結生成靜態檔案,但是呼叫dll封裝的類的幾個函式後出現如下錯誤: 錯誤: 1>正在連結... 1>   正在建立庫 ..\ssnmate\Debug\QQDLL.lib 和物件 ..\ssnmate\Debug\QQDLL.exp 1&g