1. 程式人生 > >VC編譯錯誤: libcmt.lib 已經定義

VC編譯錯誤: libcmt.lib 已經定義

1>uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" ([email protected]@Z) 已經在 LIBCMT.lib(new.obj) 中定義
1>uafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" ([email protected]@Z) 已經在 LIBCMT.lib(delete.obj) 中定義
1>uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned int)" (

[email protected]@Z) 已經在 LIBCMT.lib(new2.obj) 中定義
1>../bin/TLLogger_Unicode_Release.exe : fatal error LNK1169: 找到一個或多個多重定義的符號

解決方法:

原因:

CRT 庫對 new、delete 和 DllMain 函式使用弱外部連結。MFC 庫也包含 new、delete 和 DllMain 函式。這些函式要求先連結 MFC 庫,然後再連結 CRT 庫。

當 C 執行時 (CRT) 庫和 Microsoft 基礎類 (MFC) 庫的連結順序有誤時,可能會出現以下 LNK2005 錯誤。

解決方法:

強制連結器按照正確的順序連結庫!

project->properties->Linker->Ignore Specific Library 新增 uafxcwd.lib Libcmtd.lib (輸入- 忽略特定庫)



在Additional Dependencied新增uafxcwd.lib Libcmtd.lib (輸入- 附加選項 )

相關推薦

VC編譯錯誤: libcmt.lib 已經定義

1>uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" ([email protected]@Z) 已經在 LIBCMT.lib(new.obj) 中定義1>uafxcw

VS2013中編譯出現libcmt.lib定義錯誤

錯誤 3 error LNK2005: __lock 已經在 msvcrt.lib(MSVCR120.dll) 中定義 錯誤 4 error LNK2005: __unlock 已經在 msvcrt

關於VS2008編譯錯誤"error LNK2005: 已經在 .obj 中定義"

無意中遇到了這樣的編譯問題, 於是google,發現在.h檔案裡定義變數,發生這問題的概率是灰常大的. 下面這段紅字是參考網上的說法: 當你第一個使用這個頭的.cpp檔案生成.obj的時候,int i 在裡面定義了當另外一個使用這個的.cpp再次[單獨]生成.obj的時候,int i 又被定義然後兩個o

關於VC編譯錯誤fatal error C1083的解決辦法

錯誤總是不斷的,經驗是累積的。 C1083: Cannot open precompiled header file: 'Debug/<Project-Name>.pch': No such file or directoryThis error results from a missi

FFmpeg/ffplay for VC 編譯錯誤總結

宣告:本文,部分來源於網路集合整理,另一部分來自於本人遇到的問題和解決方法; 編譯SDK 編譯之後,執行make install後,在C:/MSYS/local會生成bin、include、lib等資料夾。這樣ffmpeg的編譯環境就幫我生成了一個SDK,這個SDK在li

最常見的20種VC++編譯錯誤資訊集合

1、fatal error C1010: unexpected end of file while looking for precompiled header directive。  尋找預編譯標頭檔案路徑時遇到了不該遇到的檔案尾。(一般是沒有#include "stdafx.h")  2、fatal er

VC++編譯錯誤整理

今天終於空出時間看VC++了,之前在學校學習過C,程式設計師考試時也是用C,但是個人感覺C++和C還是差別挺大的,抽了兩天時間看了看語法,就那起之前買的《遊戲程式設計入門》看,書有附帶程式碼,就省了自己敲了。但是問題來了,安裝了VC++ 6.0後,編譯通過,執行就是有問題。沒

連結錯誤LIBCMT.lib(crt0dat.obj) : error LNK2005以及fatal error C1189: #error

正在連結... LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit 已經在 msvcrtd.lib(MSVCR71D.dll) 中定義 LIBCMT.lib(crt0dat.obj) : error LNK2005: __exit 已經在 msvcrtd.lib(MS

【VS開發】VS編譯時提示"已經LIBCMT.lib(new.obj) 中定義uafxcw.lib"解決辦法

  錯誤  1  error LNK2005: "void * __cdecl operator new(unsigned int)" ( [email protected]@Z )

VC定義訊息ON_MESSAGE的編譯錯誤error C2440

在手動新增ON_MESSAGE時,遇到下面的編譯錯誤: error C2440: 'type cast' : cannot convert from 'void (__thiscall CXXXView::*)(unsigned int,long)' to 'long

VC++】編譯錯誤

錯誤: Error 3 error C2628: 'String' followed by 'int' is illegal (did you forget a ';'?)    原因: 類定義的最後要加分號   總結:

centos 下Qt 編譯錯誤 skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5

centos 下Qt 編譯錯誤編譯報錯解決辦法 編譯報錯 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libGL.so when searc

Caffe-ssd編譯錯誤:Makefile:570: recipe for target '.build_release/lib/libcaffe.so.1.0.0-rc3' failed

在編譯Caffe-SSD時候遇到以下問題: Makefile:570: recipe for target '.build_release/lib/libcaffe.so.1.0.0-rc3' fail

qt程式編譯錯誤:could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake’

linux下安裝Qt5.7後新增qmake環境變數後出現錯誤 執行: qmake -v 出現錯誤:qmake: could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake’: No such file or directory 分析: qtch

codeblock無法編譯,提示函式沒有定義,但是函式已經 在標頭檔案中定義

你在新增檔案時沒有選中Targets。預設情況下,一個工程會有兩個Targets,一個叫Debug,一個叫Release,前者可以除錯,用於開發。後者不能除錯,用於生成最終釋出的軟體。CodeBloc

VC++ 6.0開發OCX控制元件時遇到LIBCMT.lib(crt0.obj) : error LNK2001: unresolved external symbol _main問題解決記錄

當你OCX控制元件的ReleaseMinDependency版時,你得到了下面這個連結錯誤:    LIBCMT.LIB(crt0.obj) : error LNK2001: unresolved external symbol _main 而Debug版本的編連卻順利通

VC++編譯程式碼出現LNK2005錯誤的一種情況的解決

在一個VC控制檯應用程式中,加入對ADO的引用,編譯後,出現如下錯誤提示, 1>MSVCRTD.lib(MSVCR120D.dll) : error LNK2005: __beginthreadex 已經在 libcmtd.lib(threadex.obj) 中定義

VS 編譯出現 LNK2005 XXX 已經在 XXX.obj 中定義

    造成該問題的可能性比較多,本人將在今後遇到時新增進來,今天先放出本人遇到的一種情況。     多重包含含有變數定義的.h檔案所造成     這個現象很容易重新,首先新建一個1.h檔案,然後在裡

LIBCMT.lib(crt0dat.obj) : error LNK2005 錯誤的解決方法

最近為了解決跨lib之間vector產生的問題,將link的Code Generation的Use run-time library 修改為MultiThreaded Dll,結果導致了系列錯誤。 LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit alread

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