I am trying to build dcmtk-3.6.1_20140617 and I am not having any success. Note that I am able to successfully build dcmtk-3.6.1_20120515 on the same system. I read through the forum.dcmtk.org “DCMTK – Installation” posts. There are many different threads and combinations of issues out there. I understand the complexity of having so many different platforms and why people would have so many issues. I simply would like to compile the software on either a Window XP 32 bit system or a Windows 7 64 bit system. I can use either Microsoft Visual C++ 6.0, Microsoft Visual Studio .NET 2003 (C++), or Microsoft Visual Studio 2008 (C++). I have tried CMake 2.8.9 and CMake 3.1.0. I followed the “Microsoft Windows with CMake” instructions that are provided in the “INSTALL” text file of the release, which seem pretty straight-forward. I take all the default setting that CMake provides and press the configure button. I am surprised how much it can’t find. Here is the list of what CMake says it cannot find:
Code: Select all
stdint.h
dirent.h
fstream.h
fnmatch.h
grp.h
ieeefp.h
inttypes.h
iomanip.h
iostream.h
png.h
ndir.h
netdb.h
pwd.h
semaphore.h
sstream.h
stat.h
cstdint
strings.h
strstream.h
strstrea.h
synch.h
sys/errno.h
sys/dir.h
sys/file.h
sys/ndir.h
sys/param.h
sys/resource.h
sys/select.h
sys/syscall.h
sys/time.h
sys/utsname.h
sys/wait.h
sys/socket.h
sys/thread.h
unistd.h
unix.h
alloca.h
arpa/inet.h
pthread.h
netinet/in_systm.h
netinet/in.h
netinet/tcp.h
When I do the build, I get hundreds of warnings regarding /EHsc, such as:
Code: Select all
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\include\ostream(574) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
(MAKE_CXX_FLAGS and CMAKE_C_FLAGS option did not seem to exist in list for CMake 2.8.9, only CMake 3.1.0)
I am not sure where to add this to the ALL_BUILD project as its project properties seems very limited.
After the build is completed, it appears the biggest problem is that “ofstd” and “oflog” don’t build due to errors. Here is what I am getting:
fstd - 1 error
Code: Select all
\Dicom\OFFIS\dcmtk-3.6.1_20140617.tar\dcmtk-3.6.1_20140617\dcmtk-3.6.1_20140617\ofstd\libsrc\ofcmdln.cc(1175) : error C2664: 'std::basic_ifstream<_Elem,_Traits>::basic_ifstream(const char *,std::_Iosb<_Dummy>::openmode,int)' : cannot convert parameter 1 from 'const wchar_t *' to 'const char *'
oflog - 98 errors
Code: Select all
\Dicom\OFFIS\dcmtk-3.6.1_20140617.tar\dcmtk-3.6.1_20140617\dcmtk-3.6.1_20140617\oflog\libsrc\snprintf.cc(142) : error C3861: 'vsnprintf': identifier not found, even with argument-dependent lookup
\Dicom\OFFIS\dcmtk-3.6.1_20140617.tar\dcmtk-3.6.1_20140617\dcmtk-3.6.1_20140617\oflog\libsrc\timehelp.cc(178) : error C3861: 'gmtime_s': identifier not found, even with argument-dependent lookup
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinSock2.h(109) : error C2011: 'fd_set' : 'struct' type redefinition
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinSock2.h(153) : error C2011: 'timeval' : 'struct' type redefinition
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WinSock2.h(209) : error C2011: 'hostent' : 'struct' type redefinition
Code: Select all
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WSPiApi.h(128) : error C2440: '=' : cannot convert from 'unsigned long (__stdcall *)(const char *)' to 'DWORD'
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WSPiApi.h(128) : error C2440: '=' : cannot convert from 'unsigned long (__stdcall *)(const char *)' to 'DWORD'
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WSPiApi.h(128) : error C3861: 'inet_addr': identifier not found, even with argument-dependent lookup
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WSPiApi.h(232) : error C2440: '=' : cannot convert from 'hostent *(__stdcall *)(const char *)' to 'hostent *'
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\WSPiApi.h(232) : error C2440: '=' : cannot convert from 'hostent *(__stdcall *)(const char *)' to 'hostent *'
I am also not sure if part of the problem is related to having multiple versions of Microsoft Studio on my system. Any help on trying to resolve these errors would be appreciated.
Kind regards,
Joel Feldman