windows: building dcmtk with libiconv

Compilation and installation of DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
pdeman
Posts: 4
Joined: Wed, 2019-05-22, 18:40

windows: building dcmtk with libiconv

#1 Post by pdeman »

Hi,

I am trying to build dcmtk with utf-8 support, windows 10, x64, visual studio 15 2017.

For that I tried with libiconv and with icu.

for libiconv, I dowloaded it from https://dicom.offis.de/download/dcmtk/d ... .16.tar.gz

then I followed the install windows.
"
There are three ways to create binaries of this package for Microsoft Windows:
1) Native binaries, built using the mingw tool chain.
2) Native binaries, built using the MS Visual C/C++ tool chain.
3) Binaries for the Cygwin environment."

the 1st solution, using mingw tool chain works, the second, I haven't figure out how to make it works.
I can't pass this error :
"checking whether the C compiler works... no" even if with cygwin I installed gcc etc packages.

after solution one, in cmake for dcmtk I get this error :
" iconv.cc

LINK : fatal error LNK1181: cannot open input file
'E:\Tools\DCMTK\libiconv-1.16\libiconv-1.16\lib\libiconv_o.lib'
[E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_dd868.vcxproj]
"
indeed, 'E:\Tools\DCMTK\libiconv-1.16\libiconv-1.16\lib\libiconv_o.lib' does'nt exist. it has not been generated by the built.

then I tried using the "pre built solution" dcmtk-3.6.6-win64-support-MD-iconv-msvc-15.8\libiconv-1.16" :
and I got this error :

Code: Select all

Detecting fixed iconv conversion flags
CMake Error at CMake/GenerateDCMTKConfigure.cmake:1300 (message):
  Change Dir: E:/Tools/DCMTK/dcmtk/build/CMakeTmp/Iconv/CMakeFiles/CMakeTmp

  

  Run Build Command(s):C:/Program Files (x86)/Microsoft Visual
  Studio/2017/Professional/MSBuild/15.0/Bin/MSBuild.exe cmTC_b4cc5.vcxproj
  /p:Configuration=Release /p:Platform=x64 /p:VisualStudioVersion=15.0 /v:m

  Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework


  Copyright (C) Microsoft Corporation.  All rights reserved.


  


    iconv.cc

       Creating library E:/Tools/DCMTK/dcmtk/build/CMakeTmp/Iconv/CMakeFiles/CMakeTmp/Release/cmTC_b4cc5.lib and object E:/Tools/DCMTK/dcmtk/build/CMakeTmp/Iconv/CMakeFiles/CMakeTmp/Release/cmTC_b4cc5.exp


  LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other
  libs; use /NODEFAULTLIB:library
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_b4cc5.vcxproj]



  libiconv_o.lib(iconv.obj) : warning LNK4217: locally defined symbol _errno
  imported in function libiconv_open
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_b4cc5.vcxproj]



  libiconv_o.lib(iconv.obj) : warning LNK4217: locally defined symbol free
  imported in function libiconv_close
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_b4cc5.vcxproj]



  libiconv_o.lib(iconv.obj) : warning LNK4217: locally defined symbol malloc
  imported in function libiconv_open
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_b4cc5.vcxproj]



  libiconv_o.lib(iconv.obj) : warning LNK4217: locally defined symbol qsort
  imported in function libiconvlist
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_b4cc5.vcxproj]



  libiconv_o.lib(iconv.obj) : warning LNK4217: locally defined symbol abort
  imported in function euc_tw_wctomb
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_b4cc5.vcxproj]



  libiconv_o.lib(iconv.obj) : warning LNK4217: locally defined symbol
  ___mb_cur_max_func imported in function wchar_from_loop_convert
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_b4cc5.vcxproj]



  libiconv_o.lib(localcharset.obj) : warning LNK4217: locally defined symbol
  __stdio_common_vsprintf imported in function _vsnprintf_l
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_b4cc5.vcxproj]



  libiconv_o.lib(iconv.obj) : error LNK2019: unresolved external symbol
  __imp_wcrtomb referenced in function wchar_from_loop_convert
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_b4cc5.vcxproj]



  libiconv_o.lib(localcharset.obj) : error LNK2019: unresolved external
  symbol __imp_setlocale referenced in function locale_charset
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_b4cc5.vcxproj]



  
  E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\Release\cmTC_b4cc5.exe
  : fatal error LNK1120: 2 unresolved externals
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_b4cc5.vcxproj]



Call Stack (most recent call first):
  CMake/GenerateDCMTKConfigure.cmake:1306 (analyze_iconv_flags)
  CMake/dcmtkPrepare.cmake:466 (include)
  CMakeLists.txt:22 (include)

if I specify : dcmtk-3.6.6-win64-support-MD-iconv-msvc-15.8\libiconv-1.16/include in with_libiconvinc, instead of dcmtk-3.6.6-win64-support-MD-iconv-msvc-15.8\libiconv-1.16
then I get this error :

Code: Select all

Detecting fixed iconv conversion flags
CMake Error at CMake/GenerateDCMTKConfigure.cmake:1300 (message):
  Change Dir: E:/Tools/DCMTK/dcmtk/build/CMakeTmp/Iconv/CMakeFiles/CMakeTmp

  

  Run Build Command(s):C:/Program Files (x86)/Microsoft Visual
  Studio/2017/Professional/MSBuild/15.0/Bin/MSBuild.exe cmTC_e74ef.vcxproj
  /p:Configuration=Release /p:Platform=x64 /p:VisualStudioVersion=15.0 /v:m

  Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework


  Copyright (C) Microsoft Corporation.  All rights reserved.


  


    iconv.cc


  E:\Tools\DCMTK\dcmtk\config\tests\iconv.cc(20): fatal error C1083: Cannot
  open include file: 'iconv.h': No such file or directory
  [E:\Tools\DCMTK\dcmtk\build\CMakeTmp\Iconv\CMakeFiles\CMakeTmp\cmTC_e74ef.vcxproj]



Call Stack (most recent call first):
  CMake/GenerateDCMTKConfigure.cmake:1306 (analyze_iconv_flags)
  CMake/dcmtkPrepare.cmake:466 (include)
  CMakeLists.txt:22 (include)
does anyone know how to compile dcmtk with libiconv support ?

J. Riesmeier
DCMTK Developer
Posts: 2496
Joined: Tue, 2011-05-03, 14:38
Location: Oldenburg, Germany
Contact:

Re: windows: building dcmtk with libiconv

#2 Post by J. Riesmeier »

You should definitely read and follow the instructions in the INSTALL file.

For example, when using the "MD" version of the support libraries, you should, of course, also compile the DCMTK with multi-threaded dynamically linked code generation settings. If not, you should use the "MT" version instead.

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 1 guest