错误 LNK2005: xxx 已在 MSVCRT.lib(MSVCR100.dll) C:\something\LIBCMT.lib(setlocal.obj) 中定义

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2728649/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-28 00:31:50  来源:igfitidea点击:

error LNK2005: xxx already defined in MSVCRT.lib(MSVCR100.dll) C:\something\LIBCMT.lib(setlocal.obj)

c++cvisual-c++linkermsvcr100.dll

提问by volpack

I'm using DCMTK library for reading Dicom files (Image format used in medical image processing.) I'm having a problem in compiling this DCMTK source code. DCMTK uses some additional external libraries (zlib, tiff, libpng, libxml2, libiconv). I know that all libraries should be generated with same Code Generation Options.

我正在使用 DCMTK 库来读取 Dicom 文件(医学图像处理中使用的图像格式)。我在编译这个 DCMTK 源代码时遇到了问题。DCMTK 使用一些额外的外部库(zlib、tiff、libpng、libxml2、libiconv)。我知道所有库都应该使用相同的代码生成选项生成。

I've downloaded the compiled versions of these support libraries which are compiled with "Multithreaded DLL" runtime options (/MD). In each project of DCMTK source code I ensured that runtime options are "Multithreaded DLL" (/MD). But still I'm getting these errors:

我已经下载了这些支持库的编译版本,这些支持库是使用“多线程 DLL”运行时选项 (/MD) 编译的。在 DCMTK 源代码的每个项目中,我确保运行时选项是“多线程 DLL”(/MD)。但我仍然收到这些错误:

Error   238 error LNK2005: ___iob_func already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmp2pgm
Error   239 error LNK2005: __lock_file already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmp2pgm
Error   240 error LNK2005: __unlock_file already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmp2pgm
Error   241 error LNK2005: __initterm_e already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmp2pgm
Error   242 error LNK2005: _exit already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmp2pgm
Error   243 error LNK2005: __exit already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmp2pgm
Error   244 error LNK2005: __cexit already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmp2pgm
Error   245 error LNK2005: __amsg_exit already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmp2pgm
Error   246 error LNK2005: _fflush already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(fflush.obj)   dcmp2pgm
Error   247 error LNK2005: __errno already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(dosmap.obj)   dcmp2pgm
Error   248 error LNK2005: __invoke_watson already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(invarg.obj)   dcmp2pgm
Error   249 error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(hooks.obj)    dcmp2pgm
Error   250 error LNK2005: ___xi_a already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmp2pgm
Error   251 error LNK2005: ___xi_z already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmp2pgm
Error   252 error LNK2005: ___xc_a already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmp2pgm
Error   253 error LNK2005: ___xc_z already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmp2pgm
Error   254 error LNK2005: __unlock already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(mlock.obj)    dcmp2pgm
Error   255 error LNK2005: __lock already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(mlock.obj)    dcmp2pgm
Error   256 error LNK2005: __XcptFilter already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(winxfltr.obj) dcmp2pgm
Error   257 error LNK2005: _mainCRTStartup already defined in MSVCRT.lib(crtexe.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0.obj) dcmp2pgm
Error   258 error LNK2005: ___set_app_type already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(errmode.obj)  dcmp2pgm
Error   259 error LNK2005: __configthreadlocale already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(setlocal.obj) dcmp2pgm
Error   260 error LNK2005: _getenv already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(getenv.obj)   dcmp2pgm
Error   261 error LNK2005: __isctype already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(isctype.obj)  dcmp2pgm
Error   262 error LNK2005: __strnicmp already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(strnicmp.obj) dcmp2pgm
Error   263 error LNK2005: __close already defined in LIBCMT.lib(close.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   264 error LNK2005: __fileno already defined in LIBCMT.lib(fileno.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   265 error LNK2005: _calloc already defined in LIBCMT.lib(calloc.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   266 error LNK2005: _atol already defined in LIBCMT.lib(atox.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   267 error LNK2005: _strcspn already defined in LIBCMT.lib(strcspn.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   268 error LNK2005: __stricmp already defined in LIBCMT.lib(stricmp.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   269 error LNK2005: _atoi already defined in LIBCMT.lib(atox.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   270 error LNK2005: __lseek already defined in LIBCMT.lib(lseek.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   271 error LNK2005: __read already defined in LIBCMT.lib(read.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   272 error LNK2005: __write already defined in LIBCMT.lib(write.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   273 error LNK2005: __open already defined in LIBCMT.lib(open.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   274 error LNK2005: __get_osfhandle already defined in LIBCMT.lib(osfinfo.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmp2pgm
Error   278 error LNK1169: one or more multiply defined symbols found   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\Release\dcmp2pgm.exe 1   1   dcmp2pgm
Error   201 error LNK2005: ___iob_func already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmprscp
Error   202 error LNK2005: __lock_file already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmprscp
Error   203 error LNK2005: __unlock_file already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmprscp
Error   204 error LNK2005: __initterm_e already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmprscp
Error   205 error LNK2005: _exit already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmprscp
Error   206 error LNK2005: __exit already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmprscp
Error   207 error LNK2005: __cexit already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmprscp
Error   208 error LNK2005: __amsg_exit already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmprscp
Error   209 error LNK2005: _fflush already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(fflush.obj)   dcmprscp
Error   210 error LNK2005: __errno already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(dosmap.obj)   dcmprscp
Error   211 error LNK2005: __invoke_watson already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(invarg.obj)   dcmprscp
Error   212 error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(hooks.obj)    dcmprscp
Error   213 error LNK2005: ___xi_a already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmprscp
Error   214 error LNK2005: ___xi_z already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmprscp
Error   215 error LNK2005: ___xc_a already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmprscp
Error   216 error LNK2005: ___xc_z already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmprscp
Error   217 error LNK2005: __unlock already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(mlock.obj)    dcmprscp
Error   218 error LNK2005: __lock already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(mlock.obj)    dcmprscp
Error   219 error LNK2005: __XcptFilter already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(winxfltr.obj) dcmprscp
Error   220 error LNK2005: __stricmp already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(stricmp.obj)  dcmprscp
Error   221 error LNK2005: _mainCRTStartup already defined in MSVCRT.lib(crtexe.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0.obj) dcmprscp
Error   222 error LNK2005: ___set_app_type already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(errmode.obj)  dcmprscp
Error   223 error LNK2005: __configthreadlocale already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(setlocal.obj) dcmprscp
Error   224 error LNK2005: _getenv already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(getenv.obj)   dcmprscp
Error   225 error LNK2005: __isctype already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(isctype.obj)  dcmprscp
Error   226 error LNK2005: __strnicmp already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(strnicmp.obj) dcmprscp
Error   227 error LNK2005: __close already defined in LIBCMT.lib(close.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscp
Error   228 error LNK2005: __fileno already defined in LIBCMT.lib(fileno.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscp
Error   229 error LNK2005: __lseek already defined in LIBCMT.lib(lseek.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscp
Error   230 error LNK2005: __read already defined in LIBCMT.lib(read.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscp
Error   231 error LNK2005: __write already defined in LIBCMT.lib(write.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscp
Error   232 error LNK2005: __open already defined in LIBCMT.lib(open.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscp
Error   233 error LNK2005: __get_osfhandle already defined in LIBCMT.lib(osfinfo.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscp
Error   237 error LNK1169: one or more multiply defined symbols found   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\Release\dcmprscp.exe 1   1   dcmprscp
Error   160 error LNK2005: ___iob_func already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmprscu
Error   161 error LNK2005: __lock_file already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmprscu
Error   162 error LNK2005: __unlock_file already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmprscu
Error   163 error LNK2005: __initterm_e already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmprscu
Error   164 error LNK2005: _exit already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmprscu
Error   165 error LNK2005: __exit already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmprscu
Error   166 error LNK2005: __cexit already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmprscu
Error   167 error LNK2005: __amsg_exit already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmprscu
Error   168 error LNK2005: _fflush already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(fflush.obj)   dcmprscu
Error   169 error LNK2005: __errno already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(dosmap.obj)   dcmprscu
Error   170 error LNK2005: __invoke_watson already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(invarg.obj)   dcmprscu
Error   171 error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(hooks.obj)    dcmprscu
Error   172 error LNK2005: ___xi_a already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmprscu
Error   173 error LNK2005: ___xi_z already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmprscu
Error   174 error LNK2005: ___xc_a already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmprscu
Error   175 error LNK2005: ___xc_z already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmprscu
Error   176 error LNK2005: __unlock already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(mlock.obj)    dcmprscu
Error   177 error LNK2005: __lock already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(mlock.obj)    dcmprscu
Error   178 error LNK2005: __XcptFilter already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(winxfltr.obj) dcmprscu
Error   179 error LNK2005: _mainCRTStartup already defined in MSVCRT.lib(crtexe.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0.obj) dcmprscu
Error   180 error LNK2005: ___set_app_type already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(errmode.obj)  dcmprscu
Error   181 error LNK2005: __configthreadlocale already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(setlocal.obj) dcmprscu
Error   182 error LNK2005: _getenv already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(getenv.obj)   dcmprscu
Error   183 error LNK2005: __isctype already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(isctype.obj)  dcmprscu
Error   184 error LNK2005: __strnicmp already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(strnicmp.obj) dcmprscu
Error   185 error LNK2005: __close already defined in LIBCMT.lib(close.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   186 error LNK2005: __fileno already defined in LIBCMT.lib(fileno.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   187 error LNK2005: _calloc already defined in LIBCMT.lib(calloc.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   188 error LNK2005: _atol already defined in LIBCMT.lib(atox.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   189 error LNK2005: _strcspn already defined in LIBCMT.lib(strcspn.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   190 error LNK2005: __stricmp already defined in LIBCMT.lib(stricmp.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   191 error LNK2005: _atoi already defined in LIBCMT.lib(atox.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   192 error LNK2005: __lseek already defined in LIBCMT.lib(lseek.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   193 error LNK2005: __read already defined in LIBCMT.lib(read.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   194 error LNK2005: __write already defined in LIBCMT.lib(write.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   195 error LNK2005: __open already defined in LIBCMT.lib(open.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   196 error LNK2005: __get_osfhandle already defined in LIBCMT.lib(osfinfo.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmprscu
Error   200 error LNK1169: one or more multiply defined symbols found   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\Release\dcmprscu.exe dcmprscu
Error   119 error LNK2005: ___iob_func already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmpsprt
Error   120 error LNK2005: __lock_file already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmpsprt
Error   121 error LNK2005: __unlock_file already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(_file.obj)    dcmpsprt
Error   122 error LNK2005: __initterm_e already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmpsprt
Error   123 error LNK2005: _exit already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmpsprt
Error   124 error LNK2005: __exit already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmpsprt
Error   125 error LNK2005: __cexit already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmpsprt
Error   126 error LNK2005: __amsg_exit already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0dat.obj)  dcmpsprt
Error   127 error LNK2005: _fflush already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(fflush.obj)   dcmpsprt
Error   128 error LNK2005: __errno already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(dosmap.obj)   dcmpsprt
Error   129 error LNK2005: __invoke_watson already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(invarg.obj)   dcmpsprt
Error   130 error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(hooks.obj)    dcmpsprt
Error   131 error LNK2005: ___xi_a already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmpsprt
Error   132 error LNK2005: ___xi_z already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmpsprt
Error   133 error LNK2005: ___xc_a already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmpsprt
Error   134 error LNK2005: ___xc_z already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0init.obj) dcmpsprt
Error   135 error LNK2005: __unlock already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(mlock.obj)    dcmpsprt
Error   136 error LNK2005: __lock already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(mlock.obj)    dcmpsprt
Error   137 error LNK2005: __XcptFilter already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(winxfltr.obj) dcmpsprt
Error   138 error LNK2005: _mainCRTStartup already defined in MSVCRT.lib(crtexe.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(crt0.obj) dcmpsprt
Error   139 error LNK2005: ___set_app_type already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(errmode.obj)  dcmpsprt
Error   140 error LNK2005: __configthreadlocale already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(setlocal.obj) dcmpsprt
Error   141 error LNK2005: _getenv already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(getenv.obj)   dcmpsprt
Error   142 error LNK2005: __isctype already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(isctype.obj)  dcmpsprt
Error   143 error LNK2005: __strnicmp already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\LIBCMT.lib(strnicmp.obj) dcmpsprt
Error   144 error LNK2005: __close already defined in LIBCMT.lib(close.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   145 error LNK2005: __fileno already defined in LIBCMT.lib(fileno.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   146 error LNK2005: _calloc already defined in LIBCMT.lib(calloc.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   147 error LNK2005: _atol already defined in LIBCMT.lib(atox.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   148 error LNK2005: _strcspn already defined in LIBCMT.lib(strcspn.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   149 error LNK2005: __stricmp already defined in LIBCMT.lib(stricmp.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   150 error LNK2005: _atoi already defined in LIBCMT.lib(atox.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   151 error LNK2005: __lseek already defined in LIBCMT.lib(lseek.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   152 error LNK2005: __read already defined in LIBCMT.lib(read.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   153 error LNK2005: __write already defined in LIBCMT.lib(write.obj) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   154 error LNK2005: __open already defined in LIBCMT.lib(open.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   155 error LNK2005: __get_osfhandle already defined in LIBCMT.lib(osfinfo.obj)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\MSVCRT.lib(MSVCR100.dll) dcmpsprt
Error   159 error LNK1169: one or more multiply defined symbols found   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmpstat\apps\Release\dcmpsprt.exe 1   1   dcmpsprt
Error   61  error LNK2005: ___iob_func already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(_file.obj)   dsr2html
Error   62  error LNK2005: __lock_file already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(_file.obj)   dsr2html
Error   63  error LNK2005: __unlock_file already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(_file.obj)   dsr2html
Error   64  error LNK2005: __initterm_e already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(crt0dat.obj) dsr2html
Error   65  error LNK2005: _exit already defined in MSVCRT.lib(MSVCR100.dll)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(crt0dat.obj) dsr2html
Error   66  error LNK2005: __exit already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(crt0dat.obj) dsr2html
Error   67  error LNK2005: __cexit already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(crt0dat.obj) dsr2html
Error   68  error LNK2005: __amsg_exit already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(crt0dat.obj) dsr2html
Error   69  error LNK2005: _fflush already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(fflush.obj)  dsr2html
Error   70  error LNK2005: __errno already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(dosmap.obj)  dsr2html
Error   71  error LNK2005: __invoke_watson already defined in MSVCRT.lib(MSVCR100.dll)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(invarg.obj)  dsr2html
Error   72  error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(hooks.obj)   dsr2html
Error   73  error LNK2005: ___xi_a already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(crt0init.obj)    dsr2html
Error   74  error LNK2005: ___xi_z already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(crt0init.obj)    dsr2html
Error   75  error LNK2005: ___xc_a already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(crt0init.obj)    dsr2html
Error   76  error LNK2005: ___xc_z already defined in MSVCRT.lib(cinitexe.obj)  C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(crt0init.obj)    dsr2html
Error   77  error LNK2005: __unlock already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(mlock.obj)   dsr2html
Error   78  error LNK2005: __lock already defined in MSVCRT.lib(MSVCR100.dll)   C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(mlock.obj)   dsr2html
Error   79  error LNK2005: __XcptFilter already defined in MSVCRT.lib(MSVCR100.dll) C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(winxfltr.obj)    dsr2html
Error   80  error LNK2005: _mainCRTStartup already defined in MSVCRT.lib(crtexe.obj)    C:\dcmtk-3.5.4-src\CMakeBinaries\dcmsr\apps\LIBCMT.lib(crt0.obj)    dsr2html
Error   81  error LNK2005: ___set_app_type already defined in 

EDIT:

编辑:

Observations:

观察:

  1. There are conflicts only between LIBCMT.LIB & MSVCRT.LIB
  2. These two LIB files doesn't exist at the locations shown in the errors.
  1. 只有 LIBCMT.LIB 和 MSVCRT.LIB 之间有冲突
  2. 错误中显示的位置不存在这两个 LIB 文件。

EDIT2:

编辑2:

Yes, the problem was because some of the support libraries weren't built with /MD. So, I myself built all the support libraries with /MD and my problem was solved.

是的,问题是因为某些支持库不是用 /MD 构建的。所以,我自己用 /MD 构建了所有支持库,我的问题就解决了。

回答by Hans Passant

You are mixing code that was compiled with /MD (use DLL version of CRT) with code that was compiled with /MT (use static CRT library). That cannot work, all source code files must be compiled with the same setting. Given that you use libraries that were pre-compiled with /MD, almost always the correct setting, you must compile your own code with this setting as well.

您将使用 /MD(使用 CRT 的 DLL 版本)编译的代码与使用 /MT(使用静态 CRT 库)编译的代码混合在一起。那不行,所有的源代码文件都必须用相同的设置编译。鉴于您使用的是使用 /MD 预编译的库,几乎总是正确的设置,您也必须使用此设置编译您自己的代码。

Project + Properties, C/C++, Code Generation, Runtime Library.

项目 + 属性、C/C++、代码生成、运行时库。

Beware that these libraries were probably compiled with an earlier version of the CRT, msvcr100.dll is quite new. Not sure if that will cause trouble, you may have to prevent the linker from generating a manifest. You must also make sure to deploy the DLLs you need to the target machine, including msvcr100.dll

请注意,这些库可能是用早期版本的 CRT 编译的,msvcr100.dll 是相当新的。不确定这是否会导致问题,您可能必须阻止链接器生成清单。您还必须确保将所需的 DLL 部署到目标计算机,包括 msvcr100.dll

回答by kiriloff

Getting this error, I changed the

收到此错误,我更改了

c/C++ > Code Generation > Runtime Library to Multi-threaded library (DLL) /MD

for both code project and associated Google Test project. This solved the issue.

用于代码项目和关联的 Google 测试项目。这解决了这个问题。

Note: all components of the project must have the same definition in c/C++ > Code Generation > Runtime Library. Either DLL or not DLL, but identical.

注意:项目的所有组件必须在 c/C++ > Code Generation > Runtime Library 中具有相同的定义。DLL 或非 DLL,但相同。

回答by yan bellavance

Some readers will have another issue and need this fix. read the links below. the same problem occured with visual studio 2015 with the advent of windows sdk 10 which brings up libucrt. ucrt is the windows implementation of C Runtime (CRT) aka the posix runtime library. You most likely have code that was ported from unix... Welcome to the drawback

一些读者会遇到另一个问题,需要此修复程序。阅读下面的链接。随着 Windows sdk 10 的出现,visual studio 2015 出现了同样的问题,它带来了 libucrt。ucrt 是 C 运行时 (CRT) 又名 posix 运行时库的 Windows 实现。你很可能有从 unix 移植过来的代码......欢迎来到缺点

https://support.microsoft.com/en-us/help/148652/a-lnk2005-error-occurs-when-the-crt-library-and-mfc-libraries-are-linked-in-the-wrong-order-in-visual-c

https://support.microsoft.com/en-us/help/148652/a-lnk2005-error-occurs-when-the-crt-library-and-mfc-libraries-are-linked-in-the-wrong-视觉中的订单

https://github.com/lordmulder/libsndfile-MSVC/blob/master/src/sf_unistd.h

https://github.com/lordmulder/libsndfile-MSVC/blob/master/src/sf_unistd.h

https://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00224.html

https://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00224.html

https://msdn.microsoft.com/en-us/library/y23kc048.aspx

https://msdn.microsoft.com/en-us/library/y23kc048.aspx

https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/

https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/

回答by Michael Haephrati

If you VS solution contains several projects, select all of them in the right pane, and press "properties". Then go to C++ -> Code Generation and chose one Run Time library option for all of them

如果您的 VS 解决方案包含多个项目,请在右侧窗格中选择所有项目,然后按“属性”。然后转到 C++ -> 代码生成并为所有这些选择一个运行时库选项