相关疑难解决方法(0)

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

我正在使用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) …
Run Code Online (Sandbox Code Playgroud)

c c++ linker visual-c++ msvcr100.dll

75
推荐指数
1
解决办法
12万
查看次数

标签 统计

c ×1

c++ ×1

linker ×1

msvcr100.dll ×1

visual-c++ ×1