I was using NMAKE, and I wasn't setting
DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS to 'Off' when I got these errors.

I don't know why my examination of the CMakeCache.txt files didn't turn up
the different flags.  I'd think that the
DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS thing would happen at config time,
not at build time, but I don't know.

Windows seems really fragile in comparison to OS X and Linux.  I think
that keeping separate Single and Multi-threaded libraries is at least 5
years past it's sell-by date.



--
Kent Williams [email protected]






On 11/2/12 2:04 PM, "Bill Hoffman" <[email protected]> wrote:

>http://forum.dcmtk.org/viewtopic.php?t=35
>http://msdn.microsoft.com/en-us/library/abx4dbyh%28v=vs.80%29.aspx
>
>
>LIBCPMTD is the static run time library for MS VS.
>
>MSVCRTD is the dynamic dll run time library for MS VS.
>
>Debug Multithreaded (/MTd)     LIBCMTD.LIB / LIBCPMTD.LIB
>Debug Multithreaded /DLL (MDd) MSVCRTD.LIB / MSVCPRTD.LIB
>
>
>What CMake generator are you using?
>
>-Bill
>
>
>On 11/2/2012 2:45 PM, Williams, Norman K wrote:
>> I'm trying not to hate Visual Studio.  I'm hoping someone here can help
>>me
>> not to.
>>
>> I'm building DCMTK and then using USE_SYSTEM_DCMTK to build ITK with the
>> new DCMTKIO.  Through the generous help of Brad King, it works on
>>Windows
>> now - mostly.  The problem is that there's a library collision between
>>the
>> DCMTK and ITK libraries when I try to link the ITK tests.
>>
>> I've tried Googling for solutions and the consensus of the Internet
>> suggests no solutions and says basically "yes this happens and yes it's
>> annoying."
>>
>> I can understand how I might make this happen -- use different library
>> models for DCMTK and ITK.  But I've looked at the CMakeCache.txt for
>>both
>> projects and all the
>> compiler and linker flags are identical.
>>
>> Anyone run into this and know how to make it work?
>>
>> Here's a representative excerpt of the output:
>> 605>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: class
>> std::basic_ostream<char,struct std::char_traits<char> > & __thiscall
>> std::basic_ostream<char,struct std::char_traits<char> >::put(char)"
>> (?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z) already
>> defined in oflog.lib(oflog.obj)
>>
>> 605>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __strdup already defined
>> in LIBCMTD.lib(strdup.obj)
>>
>> 605>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __unlink already defined
>> in LIBCMTD.lib(unlink.obj)
>>
>> 605>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _strtol already defined
>>in
>> LIBCMTD.lib(strtol.obj)
>>
>> 605>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __fileno already defined
>> in LIBCMTD.lib(fileno.obj)
>>
>> 605>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _vsprintf already
>>defined
>> in LIBCMTD.lib(vsprintf.obj)
>>
>> 605>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __get_osfhandle already
>> defined in LIBCMTD.lib(osfinfo.obj)
>>
>> 605>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __write already defined
>>in
>> LIBCMTD.lib(write.obj)
>>
>> 605>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __lseeki64 already
>>defined
>> in LIBCMTD.lib(lseeki64.obj)
>>
>> 605>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __aligned_malloc already
>> defined in LIBCMTD.lib(dbgheap.obj)
>>
>> 605>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: __aligned_free already
>> defined in LIBCMTD.lib(dbgheap.obj)
>>
>> 605>     Creating library
>> C:/itktest/ITK-build/lib/Debug/BilateralImageFilter.lib and object
>> C:/itktest/ITK-build/lib/Debug/BilateralImageFilter.exp
>>
>> 605>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of
>> other libs; use /NODEFAULTLIB:library
>>
>> 605>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of
>> other libs; use /NODEFAULTLIB:library
>>
>> 605>C:\itktest\ITK-build\bin\Debug\BilateralImageFilter.exe : fatal
>>error
>> LNK1169: one or more multiply defined symbols found
>>
>> 605>
>>
>>
>>
>>
>> Where it's falling down is that apparentl
>>
>>
>>
>>
>>
>> ________________________________
>> Notice: This UI Health Care e-mail (including attachments) is covered
>>by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is
>>confidential and may be legally privileged.  If you are not the intended
>>recipient, you are hereby notified that any retention, dissemination,
>>distribution, or copying of this communication is strictly prohibited.
>>Please reply to the sender that you have received the message in error,
>>then delete it.  Thank you.
>> ________________________________
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.php
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
>>
>
>
>--
>Bill Hoffman
>Kitware, Inc.
>28 Corporate Drive
>Clifton Park, NY 12065
>[email protected]
>http://www.kitware.com
>518 881-4905 (Direct)
>518 371-3971 x105
>Fax (518) 371-4573
>_______________________________________________
>Powered by www.kitware.com
>
>Visit other Kitware open-source projects at
>http://www.kitware.com/opensource/opensource.html
>
>Kitware offers ITK Training Courses, for more information visit:
>http://kitware.com/products/protraining.php
>
>Please keep messages on-topic and check the ITK FAQ at:
>http://www.itk.org/Wiki/ITK_FAQ
>
>Follow this link to subscribe/unsubscribe:
>http://www.itk.org/mailman/listinfo/insight-developers



________________________________
Notice: This UI Health Care e-mail (including attachments) is covered by the 
Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and 
may be legally privileged.  If you are not the intended recipient, you are 
hereby notified that any retention, dissemination, distribution, or copying of 
this communication is strictly prohibited.  Please reply to the sender that you 
have received the message in error, then delete it.  Thank you.
________________________________
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-developers

Reply via email to