[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