[Insight-users] Feature Request: Adding "Debug" filename decorations to installed libraries

Michael Jackson mike.jackson at bluequartz.net
Wed Sep 9 12:42:52 EDT 2009


On Sep 9, 2009, at 12:33 PM, John Drescher wrote:

> On Wed, Sep 9, 2009 at 12:12 PM, Michael Jackson
> <mike.jackson at bluequartz.net> wrote:
>> Reading the recent thread "Speeding up the evaluation of the  
>> itk::Gaussian?"
>> the original poster is going through some of the same trials and
>> tribulations that I went through on Windows in the last month or  
>> so. The
>> root of the problem with Visual Studio builds is that you can not  
>> combine a
>> debug build of ITK with Release build of your own application/ 
>> library. Doing
>> this will cause all sorts of endless heartaches.
>>
>>  So what you can do is build ITK twice, once in Debug mode and once  
>> in
>> Release mode. Install each to their own installation prefixes and  
>> now you
>> have both. But the next problem is that with your own project you  
>> will need
>> to have 2 separate CMake Build directories. One that has ITK_DIR  
>> pointing to
>> the Debug ITK installation and the other build directory where the  
>> ITK_DIR
>> points to the release build. This creates 2 VS Solution files and  
>> is kind of
>> cumbersome to manage. Instead of just using the Drop down combo box  
>> in
>> Visual Studio, I have to actually load up a completely separate  
>> solution
>> file. This probably isn't the most efficient use of my time.
>
> You do not need separate binary builds for Release and Debug. I have
> been building RelWithDebInfo and Debug builds in the same project for
> over a year without a single problem. I do most of my GUI debugging in
> Debug mode and most of my image processing in Release mode since Debug
> mode is too slow. I use the Visual Stidio GUI batch build option to
> build both Debug and RelWithDebInfo builds for ITK, VTK, GDCM and Qt.
> For my own code I have CMake generate a install.bat file that builds
> the two configurations using the command line interface to devenv.
>
> Here is an example install.bat.in file:
>
> devenv @PROJECT_BINARY_DIR@\@PROJECT_NAME at .sln /build Debug /project  
> INSTALL
> devenv @PROJECT_BINARY_DIR@\@PROJECT_NAME at .sln /build
> @RELEASE_BUILD_NAME@ /project INSTALL
>
> Then I have a main install.bat that calls the install.bat file for all
> 6 of my dependent projects.
>
> x:\32Bit\VC.80>type install_la.bat
> call Lung\CT_Imaging\Batch\install.bat
> call Lung\BZ_Airway\Batch\install.bat
> call Lung\SCP_LS\Batch\install.bat
> call Lung\JPU_Lobe\Batch\install.bat
> call Qt\QtbasicUtils\Batch\install.bat
> call Qt\LungAnalysis\Batch\install.bat
> x:\32Bit\VC.80>
>
> I execute this in two different Visual Studio Command prompts. One for
> 64 bit one for 32 bit.
>
> John

Hmm. Thanks for the info. How do you handle deploying your code to  
another machine that does not have any type of visual studio or  
prebuilt ITK/VTK libraries installed?

--
Mike Jackson <www.bluequartz.net>



More information about the Insight-users mailing list