[Insight-users] Linker conflicts from GDCM in ITK

Mathieu Malaterre mathieu.malaterre at gmail.com
Thu Oct 16 04:51:22 EDT 2008


Patrick,

  [Sorry for duplicate emails, I forgot to CC the ML]

On Wed, Oct 15, 2008 at 9:25 PM, Patrick D. Emond
<patrickdemond at gmail.com> wrote:
> Hello,
>
> I've been running into a problem linking to both ITK (which was built using
> the internal GDCM code) and an external build of GDCM in the same project.
>
> I tried a few things to fix this:
>
> 1) compile ITK using the external GDCM library
>
>  - this fails because the version of CVS version of GDCM that I'm using
> doesn't seem to be compatible with ITK

Don't use the CVS version of GDCM, take the latest gdcm 1.2.4 (from
sf.net for example)

https://sourceforge.net/project/showfiles.php?group_id=137895&package_id=151454&release_id=603165

> 2) use a different namespace in my GDCM build
>
>  - there are still some name collisions that occur
>
> 3) only use ITK's GDCM instead of an external one
>
>  - this doesn't work since I need to build the VTK extensions to GDCM which
> are not present in ITK's GDCM source tree

That's not too hard, isn't it :)
Just copy the vtk directory from a gdcm 1.2.4 tarball, or install the
gdcm 1.2.4 as the gdcm installed version.

> 4) remove all GDCM code from ITK
>
>  - this works since I'm not using ITK's GDCM capabilities, but it's not a
> good solution since I'd rather not have to maintain the custom changes to
> ITK I've had to make for this to be possible

I do not understand this one.

> Any idea how I can get around this problem?
>
> Patrick
>
> (Building static release builds using NMake version 8 on Windows XP)

Another approach, if you are looking for a much better DICOM handling
from VTK is to directly switch to gdcm 2.x and the following should
work out of the box:

Installed VTK 5.2
Installed gdcm 2.x (from trunk, or gdcm 2.0.10 when it comes out) +
GDCM_USE_VTK:ON
ITK from CVS HEAD with ITK_USE_SYSTEM_GDCM:ON

2cts
-- 
Mathieu


More information about the Insight-users mailing list