One more thing in case anyone else tries to build Plugins dicom on Windows Vista (and likely other versions of Windows):

We commented out the following line in ReaderWriterDICOM.cpp
#define HAVE_CONFIG_H
otherwise "osconfig.h" tries to include "cfunix.h" on windows machines

Jason


Jason Jerald wrote:

Thanks for the reply Robert. I guess CMakeLists.txt overrides anything set within the CMake GUI. Another developer that I work with tried to do the same thing on a different machine and ran into the identical issue so I do not believe it was some missing setup step (unless we happened to miss the same thing).

Jason



Robert Osfield wrote:
Hi Jason,

I'm not a Windows developer so have had to sit on the sidelines on helping out with this one as I don't have the expertise to dive in, good to hear you've resolve problem, hopefully this help others. W.r.t CMake GUI not updating the CMakeLists.txt, this is normal and correct, when you run cmake it just creates and updated the CMakeCache.txt and associated build files once you generate them, it doesn't touch the CMakeLists.txt.

Is there a chance you were missing the some setup when generating the project files?

Robert.

On Thu, Sep 10, 2009 at 1:39 AM, Jason Jerald <ja...@digitalartforms.com <mailto:ja...@digitalartforms.com>> wrote:


    For some reason the CMake GUI was not updating DCMTK
    CMakeLists.txt.  I.e., /MT was being used instead of /MD as
    defined in the CMake GUI.  Manually changing from /MT to /MD in
    CMakeLists.txt has resolved the issue and everything is working now.

    Jason





    CMake was not changing my settings to /MD


    Jason Jerald wrote:

        Hello everyone. I built DCMTK 3.5.4 successfully but am having
        problems building Plugins Dicom. I am using Visual Studio 2005
        on Windows Vista. Has anybody built Plugins dicom successfully
        with Visual Studio on Window Vista?

        I believe the following might(?) be issues in building Plugins
        dicom


        *** /MD versus /MT ***
        When making DCMTK with CMake the CMAKE_CXX_FLAGS have /MD
        which is the same for OSG. However, when I look at the
        projects in Visual Studio, the flags are /MT. Is this a
        problem? If so, why is CMake not setting it correctly and how
        can I fix it?

        *** iostream.h versus iostream ***
        OSG uses iostream. I am not convinced the file ofstream in
        DCMTK is configured to use iostream correctly. I tried
        hardcoding the use of iostream without getting plugin dicom to
        build successfully.

        *** other library conflicts? ****
        I tried the \NoDefaultLib option and tried ignoring some other
        libraries with no success.

        *** other problems ***
        I might be completely missing something. Could there be some
        other problem?   Any ideas what I am doing wrong?  The output
        is below.

        Thanks!

        Jason









        Error 72 error LNK2005: "public: __thiscall
        std::basic_string<char,struct std::char_traits<char>,class
        std::allocator<char> >::~basic_string<char,struct
        std::char_traits<char>,class std::allocator<char> >(void)"
(??1?$basic_str...@du?$char_traits@d...@std@@v?$alloca...@d@2@@std@@q...@xz)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 73 error LNK2005: "public: __thiscall
        std::basic_string<char,struct std::char_traits<char>,class
        std::allocator<char> >::basic_string<char,struct
        std::char_traits<char>,class std::allocator<char> >(char const
        *)"
(??0?$basic_str...@du?$char_traits@d...@std@@v?$alloca...@d@2@@std@@q...@pbd@Z)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 74 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_ostr...@du?$char_traits@d...@std@@@std@@qaeaa...@p6aaav01@AAV01@@z...@z)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 75 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> > &)"
(?e...@std@@yaaav?$basic_ostr...@du?$char_traits@d...@std@@@1...@aav21@@Z)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 76 error LNK2005: "public: class
        std::basic_ostream<char,struct std::char_traits<char> > &
        __thiscall std::basic_ostream<char,struct
        std::char_traits<char> >::operator<<(double)"
        (??6?$basic_ostr...@du?$char_traits@d...@std@@@std@@qaeaa...@n@Z)
        already defined in dcmimgle.lib(diimage.obj) msvcprtd.lib
        Error 77 error LNK2005: "public: class
        std::basic_ostream<char,struct std::char_traits<char> > &
        __thiscall std::basic_ostream<char,struct
        std::char_traits<char> >::operator<<(unsigned int)"
        (??6?$basic_ostr...@du?$char_traits@d...@std@@@std@@qaeaa...@i@Z)
        already defined in dcmdata.lib(dchashdi.obj) msvcprtd.lib
        Error 78 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::ios_base &
        (__cdecl*)(class std::ios_base &))"
(??6?$basic_ostr...@du?$char_traits@d...@std@@@std@@qaeaa...@p6aaavios_base@1...@aav21@@z...@z)
        already defined in dcmdata.lib(dcfilefo.obj) msvcprtd.lib
        Error 79 error LNK2005: "public: class
        std::basic_ostream<char,struct std::char_traits<char> > &
        __thiscall std::basic_ostream<char,struct
        std::char_traits<char> >::operator<<(int)"
        (??6?$basic_ostr...@du?$char_traits@d...@std@@@std@@qaeaa...@h@Z)
        already defined in dcmimgle.lib(dimoimg.obj) msvcprtd.lib
        Error 80 error LNK2005: "public: class
        std::basic_ostream<char,struct std::char_traits<char> > &
        __thiscall std::basic_ostream<char,struct
        std::char_traits<char> >::operator<<(unsigned short)"
        (??6?$basic_ostr...@du?$char_traits@d...@std@@@std@@qaeaa...@g@Z)
        already defined in dcmimgle.lib(dimoimg.obj) msvcprtd.lib
        Error 81 error LNK2005: "public: class
        std::basic_ostream<char,struct std::char_traits<char> > &
        __thiscall std::basic_ostream<char,struct
        std::char_traits<char> >::operator<<(unsigned long)"
        (??6?$basic_ostr...@du?$char_traits@d...@std@@@std@@qaeaa...@k@Z)
        already defined in dcmimgle.lib(dimoimg.obj) msvcprtd.lib
        Error 82 error LNK2005: "public: char const * __thiscall
        std::basic_string<char,struct std::char_traits<char>,class
        std::allocator<char> >::c_str(void)const "
(?c_...@?$basic_string@du?$char_tra...@d@std@@v?$alloca...@d@2@@std@@QBEPBDXZ)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 83 error LNK2005: "public: __thiscall
        std::basic_string<char,struct std::char_traits<char>,class
        std::allocator<char> >::basic_string<char,struct
        std::char_traits<char>,class std::allocator<char> >(class
        std::basic_string<char,struct std::char_traits<char>,class
        std::allocator<char> > const &)"
(??0?$basic_str...@du?$char_traits@d...@std@@v?$alloca...@d@2@@std@@q...@abv01@@Z)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 84 error LNK2005: "public: int __thiscall
        std::ios_base::setf(int,int)" (?s...@ios_base@std@@qae...@z)
        already defined in dcmimgle.lib(digsdlut.obj) msvcprtd.lib
        Error 85 error LNK2005: "public: void __thiscall
        std::basic_ios<char,struct std::char_traits<char>
        >::setstate(int,bool)"
        (?setst...@?$basic_ios@du?$char_tra...@d@std@@@std@@qaex...@z)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 86 error LNK2005: "public: int __thiscall
        std::ios_base::width(int)" (?wi...@ios_base@std@@qa...@z)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 87 error LNK2005: "public: int __thiscall
        std::basic_streambuf<char,struct std::char_traits<char>
        >::sputn(char const *,int)"
(?sp...@?$basic_streambuf@du?$char_tra...@d@std@@@std@@qaehp...@z)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 88 error LNK2005: "public: static bool __cdecl
        std::char_traits<char>::eq_int_type(int const &,int const &)"
        (?eq_int_t...@?$char_traits@d...@std@@sa_na...@z) already defined
        in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 89 error LNK2005: "public: static int __cdecl
        std::char_traits<char>::eof(void)"
        (?...@?$char_traits@d...@std@@SAHXZ) already defined in
        dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 90 error LNK2005: "public: int __thiscall
        std::basic_streambuf<char,struct std::char_traits<char>
        >::sputc(char)"
        (?sp...@?$basic_streambuf@du?$char_tra...@d@std@@@std@@qa...@z)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 91 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 "
(?rd...@?$basic_ios@du?$char_tra...@d@std@@@std@@qbepav?$basic_stream...@du?$char_traits@d...@std@@@2...@xz)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 92 error LNK2005: "public: char __thiscall
        std::basic_ios<char,struct std::char_traits<char>
        >::fill(void)const "
        (?f...@?$basic_ios@du?$char_tra...@d@std@@@std@@QBEDXZ)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 93 error LNK2005: "public: int __thiscall
        std::ios_base::flags(void)const "
        (?fl...@ios_base@std@@QBEHXZ) already defined in
        dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 94 error LNK2005: "public: int __thiscall
        std::ios_base::width(void)const "
        (?wi...@ios_base@std@@QBEHXZ) already defined in
        dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 95 error LNK2005: "public: static unsigned int __cdecl
        std::char_traits<char>::length(char const *)"
        (?len...@?$char_traits@d...@std@@sai...@z) already defined in
        dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 96 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)"
(?fl...@?$basic_ostream@du?$char_tra...@d@std@@@std@@qaeaa...@xz)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 97 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 "
(?...@?$basic_ios@du?$char_tra...@d@std@@@std@@qbepav?$basic_ostr...@du?$char_traits@d...@std@@@2...@xz)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 98 error LNK2005: "public: bool __thiscall
        std::ios_base::good(void)const " (?g...@ios_base@std@@QBE_NXZ)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 99 error LNK2005: "public: void __thiscall
        std::basic_ostream<char,struct std::char_traits<char>
        >::_Osfx(void)"
        (?_o...@?$basic_ostream@du?$char_tra...@d@std@@@std@@QAEXXZ)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 100 error LNK2005: "public: void __thiscall
        std::basic_streambuf<char,struct std::char_traits<char>
        >::_Lock(void)"
        (?_l...@?$basic_streambuf@du?$char_tra...@d@std@@@std@@QAEXXZ)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 101 error LNK2005: "public: void __thiscall
        std::basic_streambuf<char,struct std::char_traits<char>
        >::_Unlock(void)"
        (?_unl...@?$basic_streambuf@du?$char_tra...@d@std@@@std@@QAEXXZ)
        already defined in dcmimgle.lib(dcmimage.obj) msvcprtd.lib
        Error 102 error LNK2005: "private: static class
        std::locale::_Locimp * __cdecl
        std::locale::_Getgloballocale(void)"
        (?_getgloballoc...@locale@std@@capav_loc...@12@XZ) already
        defined in msvcprtd.lib(MSVCP80D.dll) libcpmt.lib
        Error 103 error LNK2005: "private: static void __cdecl
        std::locale::facet::facet_Register(class std::locale::facet
        *)" (?facet_regis...@facet@loc...@std@@CAXPAV123@@Z) already
        defined in msvcprtd.lib(MSVCP80D.dll) libcpmt.lib
        Error 104 error LNK2005: "public: static void __cdecl
        std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)"
        (?_locinfo_d...@_locinfo@std@@SAXPAV12@@Z) already defined in
        msvcprtd.lib(MSVCP80D.dll) libcpmt.lib
        Error 105 error LNK2005: "private: static class
        std::locale::_Locimp * __cdecl std::locale::_Init(void)"
        (?_i...@locale@std@@capav_loc...@12@XZ) already defined in
        msvcprtd.lib(MSVCP80D.dll) libcpmt.lib
        Error 106 error LNK2005: "public: static void __cdecl
        std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,char const
        *)" (?_locinfo_c...@_locinfo@std@@saxpa...@pbd@Z) already
        defined in msvcprtd.lib(MSVCP80D.dll) libcpmt.lib
        Error 107 error LNK2005: "public: static void __cdecl
        std::ios_base::_Addstd(class std::ios_base *)"
        (?_add...@ios_base@std@@SAXPAV12@@Z) already defined in
        msvcprtd.lib(MSVCP80D.dll) libcpmt.lib
        Error 108 error LNK2005: "private: static void __cdecl
        std::ios_base::_Ios_base_dtor(class std::ios_base *)"
        (?_ios_base_d...@ios_base@std@@CAXPAV12@@Z) already defined in
        msvcprtd.lib(MSVCP80D.dll) libcpmt.lib
        Error 109 error LNK2005: "public: __thiscall
        std::_Lockit::_Lockit(int)" (??0_loc...@std@@q...@h@Z) already
        defined in msvcprtd.lib(MSVCP80D.dll) libcpmt.lib
        Error 110 error LNK2005: "public: __thiscall
        std::_Lockit::~_Lockit(void)" (??1_loc...@std@@q...@xz) already
        defined in msvcprtd.lib(MSVCP80D.dll) libcpmt.lib
        Error 111 error LNK2005: __invalid_parameter already defined
        in MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 112 error LNK2005: __errno already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 113 error LNK2005: _localeconv already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 114 error LNK2005: __encode_pointer already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 115 error LNK2005: __encoded_null already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 116 error LNK2005: __decode_pointer already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 117 error LNK2005: __amsg_exit already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 118 error LNK2005: __initterm_e already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 119 error LNK2005: _fflush already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 120 error LNK2005: __unlock already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 121 error LNK2005: __lock already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 122 error LNK2005: ___CppXcptFilter already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 123 error LNK2005: _atoi already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 124 error LNK2005: ___xi_a already defined in
        MSVCRTD.lib(cinitexe.obj) LIBCMT.lib
        Error 125 error LNK2005: ___xi_z already defined in
        MSVCRTD.lib(cinitexe.obj) LIBCMT.lib
        Error 126 error LNK2005: ___xc_a already defined in
        MSVCRTD.lib(cinitexe.obj) LIBCMT.lib
        Error 127 error LNK2005: ___xc_z already defined in
        MSVCRTD.lib(cinitexe.obj) LIBCMT.lib
        Error 128 error LNK2005: "void __cdecl terminate(void)"
        (?terminate@@YAXXZ) already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 129 error LNK2005: _getenv already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 130 error LNK2005: __strtoi64 already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 131 error LNK2005: __strtoui64 already defined in
        MSVCRTD.lib(MSVCR80D.dll) LIBCMT.lib
        Error 134 error LNK2019: unresolved external symbol
        _wsaclea...@0 referenced in function "long __cdecl
        gethostid(void)" (?gethostid@@YAJXZ) dcmdata.lib
        Error 135 error LNK2019: unresolved external symbol
        _gethostbyn...@4 referenced in function "long __cdecl
        gethostid(void)" (?gethostid@@YAJXZ) dcmdata.lib
        Error 136 error LNK2019: unresolved external symbol
        _gethostn...@8 referenced in function "long __cdecl
        gethostid(void)" (?gethostid@@YAJXZ) dcmdata.lib
        Error 137 error LNK2019: unresolved external symbol
        _wsastar...@8 referenced in function "long __cdecl
        gethostid(void)" (?gethostid@@YAJXZ) dcmdata.lib
        Error 138 error LNK2019: unresolved external symbol _main
        referenced in function ___tmainCRTStartup LIBCMT.lib
        Error 139 fatal error LNK1120: 5 unresolved externals
        ..\..\..\bin\Debug\..\osgPlugins-2.8.2\osgdb_dicomd.dll
        Error 140 fatal error LNK1104: cannot open file 'wldap32.lib'
        Plugins curl




        _______________________________________________
        osg-users mailing list
        osg-users@lists.openscenegraph.org
        <mailto:osg-users@lists.openscenegraph.org>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



    _______________________________________________
    osg-users mailing list
    osg-users@lists.openscenegraph.org
    <mailto:osg-users@lists.openscenegraph.org>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


------------------------------------------------------------------------

_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to