Problem with running the sample test program.

Compilation and installation of DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
faisal_tum
Posts: 33
Joined: Fri, 2013-01-11, 15:37

Problem with running the sample test program.

#1 Post by faisal_tum »

Hi, I'am a student and I am trying to learn to program with dcmtk. I saw an instruction to program an example program from the following link:

viewtopic.php?f=4&t=2691


The environment in my case is slightly different. I'm using Visual Express 2010. First I built and installed DCMTK 3.6.0 using Cmake successfully. But I run into errors when I try to compile the sample code given in this example. It is true that I do slightly different from what is instructed in the example. In the example it was instructed to use Cmake, but what I actually did in my case is, I link the include files of dcmtk via Visual Express by showing the path for include files in the following way:

*
Go to Project Properties->Go to VC++ Directories->Put the include files path(such as "D:\dcmtk-3.6.0\Prefix Files\include") in the option "Include Directories"
For linking the library files I do the following:

*
Go to Project Properties->Go to VC++ Directories->Put the library files path(for Debug mode I put "D:\dcmtk-3.6.0\Lib files\Debug" and for Release mode I put "D:\dcmtk-3.6.0\Lib files\Release") in the option "Library Directories"
After doing so as it is quoted in the CmakeLists.txt in the example
# define libraries that must be linked to most windows applications
TARGET_LINK_LIBRARIES(testapp dcmdata oflog ofstd ws2_32 netapi32 wsock32)
, I add the following libs;
dcmdata.lib
oflog.lib
ofstd.lib
ws2_32.lib
netapi32.lib
wsock32.lib
by putting them in the following option of Visual Express:
Project->Project Properties->Linker->Input->Additional Dependencies
But after doing all these steps I get the following when I try to compile:

Error 1 error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &))" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 2 error LNK2005: "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)" (?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 3 error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 4 error LNK2005: "public: __int64 __thiscall std::ios_base::width(__int64)" (?width@ios_base@std@@QAE_J_J@Z) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 5 error LNK2005: "public: __int64 __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,__int64)" (?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE_JPBD_J@Z) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 6 error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 7 error LNK2005: "public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " (?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 8 error LNK2005: "public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const " (?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 9 error LNK2005: "public: int __thiscall std::ios_base::flags(void)const " (?flags@ios_base@std@@QBEHXZ) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 10 error LNK2005: "public: __int64 __thiscall std::ios_base::width(void)const " (?width@ios_base@std@@QBE_JXZ) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 11 error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 12 error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " (?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 13 error LNK2005: "public: bool __thiscall std::ios_base::good(void)const " (?good@ios_base@std@@QBE_NXZ) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 14 error LNK2005: "public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 15 error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ) already defined in dcmdata.lib(dcfilefo.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\msvcprtd.lib(MSVCP100D.dll)
Error 16 error LNK2005: "private: static void __cdecl std::ios_base::_Ios_base_dtor(class std::ios_base *)" (?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\libcpmtd.lib(ios.obj)
Error 17 error LNK2005: "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" (?_Addstd@ios_base@std@@SAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\libcpmtd.lib(ios.obj)
Error 18 error LNK2005: "private: static void __cdecl std::locale::facet::_Facet_Register(class std::locale::facet *)" (?_Facet_Register@facet@locale@std@@CAXPAV123@@Z) already defined in msvcprtd.lib(locale0_implib.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\libcpmtd.lib(locale0.obj)
Error 19 error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ) already defined in msvcprtd.lib(MSVCP100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\libcpmtd.lib(locale0.obj)
Error 20 error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)" (?_Init@locale@std@@CAPAV_Locimp@12@XZ) already defined in msvcprtd.lib(MSVCP100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\libcpmtd.lib(locale0.obj)
Error 21 error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,char const *)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@PBD@Z) already defined in msvcprtd.lib(MSVCP100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\libcpmtd.lib(locale0.obj)
Error 22 error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z) already defined in msvcprtd.lib(MSVCP100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\libcpmtd.lib(locale0.obj)
Error 23 error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) already defined in msvcprtd.lib(MSVCP100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\libcpmtd.lib(xlock.obj)
Error 24 error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) already defined in msvcprtd.lib(MSVCP100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\libcpmtd.lib(xlock.obj)
Error 25 error LNK2005: _remove already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(unlink.obj)
Error 26 error LNK2005: __configthreadlocale already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(setlocal.obj)
Error 27 error LNK2005: __free_dbg already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(dbgheap.obj)
Error 28 error LNK2005: __CrtSetCheckCount already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(dbgheap.obj)
Error 29 error LNK2005: __errno already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(dosmap.obj)
Error 30 error LNK2005: _localeconv already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(lconv.obj)
Error 31 error LNK2005: __crt_debugger_hook already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(dbghook.obj)
Error 32 error LNK2005: __lock already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(mlock.obj)
Error 33 error LNK2005: __unlock already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(mlock.obj)
Error 34 error LNK2005: _exit already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(crt0dat.obj)
Error 35 error LNK2005: __exit already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(crt0dat.obj)
Error 36 error LNK2005: __cexit already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(crt0dat.obj)
Error 37 error LNK2005: __amsg_exit already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(crt0dat.obj)
Error 38 error LNK2005: __initterm_e already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(crt0dat.obj)
Error 39 error LNK2005: __XcptFilter already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(winxfltr.obj)
Error 40 error LNK2005: _atoi already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(atox.obj)
Error 41 error LNK2005: _sprintf already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(sprintf.obj)
Error 42 error LNK2005: _sprintf_s already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(sprintf.obj)
Error 43 error LNK2005: ___xi_a already defined in MSVCRTD.lib(cinitexe.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(crt0init.obj)
Error 44 error LNK2005: ___xi_z already defined in MSVCRTD.lib(cinitexe.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(crt0init.obj)
Error 45 error LNK2005: ___xc_a already defined in MSVCRTD.lib(cinitexe.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(crt0init.obj)
Error 46 error LNK2005: ___xc_z already defined in MSVCRTD.lib(cinitexe.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(crt0init.obj)
Error 47 error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(hooks.obj)
Error 48 error LNK2005: __invalid_parameter already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(invarg.obj)
Error 49 error LNK2005: __invoke_watson already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(invarg.obj)
Error 50 error LNK2005: _tolower already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(tolower.obj)
Error 51 error LNK2005: _mainCRTStartup already defined in MSVCRTD.lib(crtexe.obj) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(crt0.obj)
Error 52 error LNK2005: ___set_app_type already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(errmode.obj)
Error 53 error LNK2005: __CrtDbgReportW already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(dbgrptw.obj)
Error 54 error LNK2005: ___iob_func already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(_file.obj)
Error 55 error LNK2005: __lock_file already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(_file.obj)
Error 56 error LNK2005: __unlock_file already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(_file.obj)
Error 57 error LNK2005: _fflush already defined in MSVCRTD.lib(MSVCR100D.dll) C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\new_try\LIBCMTD.lib(fflush.obj)
Error 60 error LNK1169: one or more multiply defined symbols found C:\Users\fibne-mozher\Documents\Visual Studio 2010\Projects\new_try\Debug\new_try.exe 1

But it seems I have followed all the instructions correctly, could you please say me what I'm doing wrong? I should also mention that the example that I provided here is of 3.5.4, I'm using 3.6.0. Does this difference in version matter?

faisal_tum
Posts: 33
Joined: Fri, 2013-01-11, 15:37

Re: Problem with running the sample test program.

#2 Post by faisal_tum »

Anyways I got it running. The problem was with the environment. I had to change the runtime library in code generation, for Debug mode I had to put
Multi-threaded Debug
, for Release mode I had to put it
Multi-threaded
. Anyway thanks for the example:D.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest