<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Hi Tim,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">the classic solution for this is to build ITK (and VTK) as static libraries. I have a dozen of different ITK versions on my computer and they coexist nicely.</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Regards</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 29, 2016 at 3:51 PM, Matt McCormick <span dir="ltr"><<a href="mailto:matt.mccormick@kitware.com" target="_blank">matt.mccormick@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> Thanks for the quick reply.  I assumed that's what I was doing.  Is it wrong<br>
> to have two versions of ITK with different configurations on one computer,<br>
> use the ITK_DIR variable in CMake to link Program A to one version and<br>
> Program B to another version, and expect them both to run?<br>
<br>
It is OK to have two versions of ITK with different configurations, A<br>
and B, if Program A only links to ITK A and Program B only links to<br>
ITK B. If ITK is built with shared libraries, though, and Program B<br>
finds ITK A libraries at runtime, it may crash. To inspect what<br>
libraries an executable is finding at runtime, try Dependency Walker:<br>
<br>
  <a href="http://www.dependencywalker.com/" rel="noreferrer" target="_blank">http://www.dependencywalker.com/</a><br>
<br>
HTH,<br>
Matt<br>
<br>
On Fri, Apr 29, 2016 at 3:04 PM, Tim Jackson <<a href="mailto:tj.jackson1226@gmail.com">tj.jackson1226@gmail.com</a>> wrote:<br>
> Hi Matt,<br>
><br>
> Thanks for the quick reply.  I assumed that's what I was doing.  Is it wrong<br>
> to have two versions of ITK with different configurations on one computer,<br>
> use the ITK_DIR variable in CMake to link Program A to one version and<br>
> Program B to another version, and expect them both to run?<br>
><br>
> Best,<br>
> Tim<br>
<div class="HOEnZb"><div class="h5">><br>
> On Fri, Apr 29, 2016 at 2:49 PM, Matt McCormick <<a href="mailto:matt.mccormick@kitware.com">matt.mccormick@kitware.com</a>><br>
> wrote:<br>
>><br>
>> Hi Tim,<br>
>><br>
>> To avoid issues, everything that is linked together should be built<br>
>> with the same compiler and the same version of ITK.<br>
>><br>
>> HTH,<br>
>> Matt<br>
>><br>
>> On Fri, Apr 29, 2016 at 2:43 PM, Tim Jackson <<a href="mailto:tj.jackson1226@gmail.com">tj.jackson1226@gmail.com</a>><br>
>> wrote:<br>
>> > Hi all,<br>
>> ><br>
>> > I've been making programs that use filters from ITK for a couple years<br>
>> > now.<br>
>> > Recently, I downloaded the newest installation of ITK because I wanted a<br>
>> > version that had the SCIFIO module, in order to read Nikon .nd2 images.<br>
>> ><br>
>> > Weird things have now started happening with programs that previously<br>
>> > had no<br>
>> > problems.  Everything compiles, but programs linked to one version of<br>
>> > ITK<br>
>> > crash every time an image reader updates in Release (but not Debug<br>
>> > mode),<br>
>> > and programs linked to another version of ITK can read images<br>
>> > successfully,<br>
>> > but inevitably crash when another filter updates (for example, a<br>
>> > registration filter).  These programs all run successfully on other<br>
>> > computers that have only one installation of ITK.<br>
>> ><br>
>> > I'm guessing that these programs are having linking problems, but I'm<br>
>> > not<br>
>> > really sure how to correct it.  I tried deleting every version of ITK I<br>
>> > have<br>
>> > on this computer and downloading a new version and starting from<br>
>> > scratch,<br>
>> > but that just made everything worse.<br>
>> ><br>
>> > In case this information helps, I used CMake 2.8.10.2 and built<br>
>> > everything<br>
>> > with Visual Studios 2012.  My older version of ITK was 4.8.1 and my new<br>
>> > version with the SCIFIO module was 4.9.0.<br>
>> ><br>
>> > Thanks for your help,<br>
>> > Tim<br>
>> ><br>
>> > _______________________________________________<br>
>> > Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
>> ><br>
>> > Visit other Kitware open-source projects at<br>
>> > <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
>> ><br>
>> > Kitware offers ITK Training Courses, for more information visit:<br>
>> > <a href="http://kitware.com/products/protraining.php" rel="noreferrer" target="_blank">http://kitware.com/products/protraining.php</a><br>
>> ><br>
>> > Please keep messages on-topic and check the ITK FAQ at:<br>
>> > <a href="http://www.itk.org/Wiki/ITK_FAQ" rel="noreferrer" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
>> ><br>
>> > Follow this link to subscribe/unsubscribe:<br>
>> > <a href="http://public.kitware.com/mailman/listinfo/insight-developers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/insight-developers</a><br>
>> ><br>
><br>
><br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://kitware.com/products/protraining.php" rel="noreferrer" target="_blank">http://kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" rel="noreferrer" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/insight-developers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/insight-developers</a><br>
</div></div></blockquote></div><br></div>