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

2021-12-22 00:00:00 c visual-c++ linker c++ msvcr100.dll

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

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.

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

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:

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

观察:

  1. 仅在 LIBCMT.LIB 和 LIBCMT.LIB 之间存在冲突MSVCRT.LIB
  2. 这两个 LIB 文件在错误中显示的位置不存在.

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

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

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.

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

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

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

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

相关文章