我正在使用DCMTK库来读取DICOM文件(医学图像处理中使用的图像格式。)我在编译此DCMTK源代码时遇到了问题。 DCMTK使用一些其他外部库(Zlib,Tiff,libpng,libxml2,libiconv)。我知道所有库都应使用相同的代码生成选项生成。

我已经下载了这些支持库的编译版本,这些版本由“多线程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 

编辑:

观察:

  1. 仅在libcmt.lib&msvcrt.lib之间存在冲突
  2. 这两个LIB文件在错误中显示的位置不存在。

edit2:

是的,问题是因为某些支持库不是使用 /MD构建的。因此,我本人用 /MD构建了所有支持库,我的问题得到了解决。

有帮助吗?

解决方案

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

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

注意这些库可能是用较早版本的CRT编译的MSVCR100.dll是非常新的。不确定这是否会引起麻烦,您可能必须防止链接生成清单。您还必须确保将所需的DLL部署到目标计算机,包括msvcr100.dll

其他提示

得到这个错误,我更改了

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

对于代码项目和相关的Google测试项目。这解决了问题。

注意:项目的所有组件必须在C/C ++>代码生成>运行时库中具有相同的定义。 dll还是不是dll,但相同。

一些读者将有另一个问题,需要此修复程序。阅读下面的链接。随着Windows SDK 10的出现,Visual Studio 2015也出现了同样的问题,该问题带来了Libucrt。 UCRT是C运行时(CRT)的Windows实现,也就是POSIX运行时库。您很可能有从Unix移植的代码...欢迎来到缺点

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

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://msdn.microsoft.com/en-us/library/y23kc048.aspx

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top