[Insight-users] ITK and managed C++ .NET

John Biddiscombe jbiddiscombe at skippingmouse.co.uk
Fri Jul 9 07:36:38 EDT 2004


Try removing all sources (and assembly references) from this project and
changing the include/link paths accordingly and adding your stuff to the
project. See what drops out. This is a simple testing project I use for
developing stuff.

(One thing I've never quite worked out is how to add an "existing" form to a
project and keep the ability to edit it in the designer. When I add one, I
get the cpp and h files in the project but the resx resources aren't
"associated" and I can't edit it. So you may have the same trouble when you
add forms to this project. I'd be glad to know what the trick is)

JB


----- Original Message ----- 
From: "Nick Arini" <nick.arini at amersham.com>
To: "John Biddiscombe" <jbiddiscombe at skippingmouse.co.uk>
Cc: <Insight-users at itk.org>
Sent: Friday, July 09, 2004 11:53 AM
Subject: Re: [Insight-users] ITK and managed C++ .NET


> John,
>
> I am still having trouble getting ITK to work with managed C++. I have
> tried approaching the problem from 2 directions.
>
> 1, Create a managed C++ project (Windows forms app or .NET class library).
> Include some itk headers and a bit of itk code in the form or in a managed
> class. Copy the Additional Include Directories, Additional Library
> Directories and Additional Dependencies lines from a CMake generated
> unmanaged project (which compiles just fine) to the current project
> properties. Upon compilation I get the errors below.
>
> 2, Create an unmanaged project using CMake with ITK set up. Set Use
> Managed Extensions to Yes in the project properties. Add a new item to the
> project like a .NET form. I get a message box with the error:
>
> Managed components can only be added to managed projects. Please convert
> the project to managed.
>
>
> I am obviously missing something. Can you tell me how you set up a project
> so these things work together?
>
> Thanks,
>
> Nick
>
>
> <begin managed code>
>
> // ITKWrapper.h
>
> #pragma once
>
> #include "itkImage.h"
> #include "itkImageFileReader.h"
>
> using namespace System;
>
> namespace ITKWrapper
> {
>
>         public __gc class ConvertITKWrapper
>         {
>                 public:
>                         void doConversion(char *fname1, char *fname2)
>                         {
>                                 // Read in the image
>                                 typedef  unsigned int PixelType;
>                                 typedef itk::Image< PixelType,  2 >
ImageType;
>                                 typedef itk::ImageFileReader< ImageType >
ReaderType;
>
>                                 ReaderType::Pointer reader =
> ReaderType::New();
>                                 reader->SetFileName( fname1 );
>
>                                 reader->Update();
>                         }
>         };
> }
>
> <end managed code>
>
> <begin compile errors>
>
> Compiling...
> ITKWrapper.cpp
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(134) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(135) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(136) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(137) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(138) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(139) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(140) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(141) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(142) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(143) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(144) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(145) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(146) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(147) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkEventObject.h(149) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::EventObject' with
> /GR-; unpredictable behavior may result
> c:\Program Files\ITK\Insight\Code\Common\itkObjectFactory.h(53) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::LightObject' with
> /GR-; unpredictable behavior may result
>         c:\Program Files\ITK\Insight\Code\Common\itkObjectFactory.h(51) :
> while compiling class-template member function 'itk::MutexLock::Pointer
> itk::ObjectFactory<T>::Create(void)'
>         with
>         [
>             T=itk::MutexLock::Self
>         ]
>         c:\Program Files\ITK\Insight\Code\Common\itkMutexLock.h(126) : see
> reference to class template instantiation 'itk::ObjectFactory<T>' being
> compiled
>         with
>         [
>             T=itk::MutexLock::Self
>         ]
> c:\Program Files\ITK\Insight\Code\Common\itkObjectFactory.h(53) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::LightObject' with
> /GR-; unpredictable behavior may result
>         c:\Program Files\ITK\Insight\Code\Common\itkObjectFactory.h(51) :
> while compiling class-template member function
> 'itk::MultiThreader::Pointer itk::ObjectFactory<T>::Create(void)'
>         with
>         [
>             T=itk::MultiThreader::Self
>         ]
>         c:\Program Files\ITK\Insight\Code\Common\itkMultiThreader.h(134) :
> see reference to class template instantiation 'itk::ObjectFactory<T>'
> being compiled
>         with
>         [
>             T=itk::MultiThreader::Self
>         ]
> c:\Program Files\ITK\Insight\Code\Common\itkObjectFactory.h(53) : warning
> C4541: 'dynamic_cast' used on polymorphic type 'itk::LightObject' with
> /GR-; unpredictable behavior may result
>         c:\Program Files\ITK\Insight\Code\Common\itkObjectFactory.h(51) :
> while compiling class-template member function
> 'itk::FastMutexLock::Pointer itk::ObjectFactory<T>::Create(void)'
>         with
>         [
>             T=itk::FastMutexLock::Self
>         ]
>         c:\Program Files\ITK\Insight\Code\Common\itkFastMutexLock.h(61) :
> see reference to class template instantiation 'itk::ObjectFactory<T>'
> being compiled
>         with
>         [
>             T=itk::FastMutexLock::Self
>         ]
> Linking...
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: void __thiscall
> std::_Mutex::_Unlock(void)" (?_Unlock at _Mutex@std@@QAEXXZ) already defined
> in libcpmt.lib(xmutex.obj)
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: void __thiscall
> std::_Mutex::_Lock(void)" (?_Lock at _Mutex@std@@QAEXXZ) already defined in
> libcpmt.lib(xmutex.obj)
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: void __thiscall
> std::locale::facet::_Register(void)" (?_Register at facet@locale at std@@QAEXXZ)
> already defined in libcpmt.lib(locale0.obj)
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: void __thiscall
> std::locale::facet::_Incref(void)" (?_Incref at facet@locale at std@@QAEXXZ)
> already defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: static unsigned int
> __cdecl std::ctype<char>::_Getcat(class std::locale::facet const * *)"
> (?_Getcat@?$ctype at D@std@@SAIPAPBVfacet at locale@2@@Z) already defined in
> ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: class
> std::locale::facet const * __thiscall std::locale::_Getfacet(unsigned
> int)const " (?_Getfacet at locale@std@@QBEPBVfacet at 12@I at Z) already defined in
> libcpmt.lib(locale0.obj)
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: __thiscall
> std::_Lockit::~_Lockit(void)" (??1_Lockit at std@@QAE at XZ) already defined in
> libcpmt.lib(xlock.obj)
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: __thiscall
> std::_Lockit::_Lockit(int)" (??0_Lockit at std@@QAE at H@Z) already defined in
> libcpmt.lib(xlock.obj)
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: __thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::~basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >(void)"
> (??1?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at XZ)
> already defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > & __thiscall std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >::operator+=(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
>
(??Y?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV01 at AB
V01@@Z)
> already defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: __thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
>
(??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at ABV01@@
Z)
> already defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: __thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >(char const *)"
>
(??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at PBD@Z)
> already defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: class
> std::basic_ostream<char,struct std::char_traits<char> > & __thiscall
> std::basic_ostream<char,struct std::char_traits<char> >::flush(void)"
> (?flush@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV12 at XZ) already
> defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: void __thiscall
> std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)"
> (?_Osfx@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEXXZ) already
> defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: void __thiscall
> std::ios_base::clear(int,bool)" (?clear at ios_base@std@@QAEXH_N at Z) already
> defined in libcpmt.lib(ios.obj)
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > & __thiscall std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >::append(unsigned
> int,char)"
>
(?append@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV
12 at ID@Z)
> already defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: unsigned int __thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::max_size(void)const "
>
(?max_size@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEI
XZ)
> already defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > & __thiscall std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >::erase(unsigned
> int,unsigned int)"
>
(?erase@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV1
2 at II@Z)
> already defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: __thiscall
> std::locale::~locale(void)" (??1locale at std@@QAE at XZ) already defined in
> ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: class std::locale
> __thiscall std::ios_base::getloc(void)const "
> (?getloc at ios_base@std@@QBE?AVlocale at 2@XZ) already defined in
> ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: int __thiscall
> std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)"
> (?sputc@?$basic_streambuf at DU?$char_traits at D@std@@@std@@QAEHD at Z) already
> defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: class
> std::basic_ostream<char,struct std::char_traits<char> > & __thiscall
> std::basic_ostream<char,struct std::char_traits<char>
> >::operator<<(unsigned int)"
> (??6?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEAAV01 at I@Z) already
> defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "class
> std::basic_ostream<char,struct std::char_traits<char> > & __cdecl
> std::operator<<<struct std::char_traits<char> >(class
> std::basic_ostream<char,struct std::char_traits<char> > &,char const *)"
>
(??$?6U?$char_traits at D@std@@@std@@YAAAV?$basic_ostream at DU?$char_traits at D@std
@@@0 at AAV10@PBD at Z)
> already defined in ITKWrapper.obj
> msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: char __thiscall
> std::basic_ios<char,struct std::char_traits<char> >::widen(char)const "
> (?widen@?$basic_ios at DU?$char_traits at D@std@@@std@@QBEDD at Z) already defined
> in ITKWrapper.obj
> C:\Documents and
> Settings\Nick.Arini\Desktop\sandbox\ITKWrapper\Release\ITKWrapper.dll :
> fatal error LNK1169: one or more multiply defined symbols found
>
> Build log was saved at "file://c:\Documents and
>
Settings\Nick.Arini\Desktop\sandbox\ITKWrapper\ITKWrapper\Release\BuildLog.h
tm"
> ITKWrapper - 25 error(s), 18 warning(s)
>
>
> ---------------------- Done ----------------------
>
>     Build: 0 succeeded, 1 failed, 0 skipped
>
> <end compile errors>
>
>
>
>
>
>
> "John Biddiscombe" <jbiddiscombe at skippingmouse.co.uk>
> 07/07/2004 11:41
>
>
>         To:     "Nick Arini" <nick.arini at amersham.com>
>         cc:     <Insight-users at itk.org>
>         Subject:        Re: [Insight-users] ITK and managed C++ .NET
>
>
> > Is wrapping necessary for use with C#?
>
> Well, strictly speaking yes. But why bother with C# when you can do
> everything from (managed) C++?
> I have a main window which uses C++ forms and vtk renderwindows embedded,
> internally I've got a mixture of vtk and itk pipelines, but also on my
> forms
> I've got components and controls I've downloaded which are written in C#.
> You can call C# components directly from managed C++, so do all your work
> in
> C++, create assemblies with C++, you can then call these directly from C#.
> Ok you can't call the itk pieplines directly from C#, but you can create
> your own dll's (assemblies) that encapsulate all your processing using
> vtk/itk, then once they're callable from an assembly, you can reference it
> from a C# module.
>
> Personally, I'd use C++ and call C# when you need it rather than the other
> way around, but that's only my $0.02.
>
> Any jobs going for .Net C+++ vtk/itk people out there :) ?
>
> JB
>
>
>
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
-------------- next part --------------
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
	ProjectType="Visual C++"
	Version="7.10"
	Name="DView"
	ProjectGUID="{5EE5ADCA-16A4-4AAD-B365-9C7ADD9E73CE}"
	RootNamespace="DotNET"
	Keyword="ManagedCProj">
	<Platforms>
		<Platform
			Name="Win32"/>
	</Platforms>
	<Configurations>
		<Configuration
			Name="Debug|Win32"
			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
			IntermediateDirectory="$(ConfigurationName)"
			ConfigurationType="1"
			CharacterSet="2"
			ManagedExtensions="TRUE">
			<Tool
				Name="VCCLCompilerTool"
				Optimization="0"
				AdditionalIncludeDirectories="&quot;$(SolutionDir)&quot;;D:\code2\vtk\common;d:\code2\vtk\filtering;d:\code2\vtk\graphics;d:\code2\vtk\imaging;d:\code2\vtk\rendering;d:\code2\vtk\hybrid;d:\code2\vtk\io;d:\CMakebuild\vtkVS7;f:\CMakebuild\vtkVS7;D:\CMakebuild\ITK\Utilities;D:\Code\DView;D:\CMakebuild\ITK;D:\Code2\Insight\Code\Algorithms;D:\Code2\Insight\Code\BasicFilters;D:\Code2\Insight\Code\Common;D:\Code2\Insight\Code\Numerics;D:\Code2\Insight\Code\IO;D:\Code2\Insight\Code\Numerics\FEM;D:\Code2\Insight\Code\Numerics\Statistics;D:\Code2\Insight\Code\SpatialObject;D:\Code2\Insight\Utilities\MetaIO;D:\Code2\Insight\Utilities\DICOMParser;D:\CMakebuild\ITK\Utilities\DICOMParser;D:\CMakebuild\ITK\Utilities\expat;D:\Code2\Insight\Utilities\expat;D:\Code2\Insight\Utilities\vxl\vcl;D:\Code2\Insight\Utilities\vxl\core;D:\CMakebuild\ITK\Utilities\vxl\vcl;D:\CMakebuild\ITK\Utilities\vxl\core;D:\CMakebuild\ITK\Utilities\itksys;D:\Code\DView\vtkCustom;D:\Code\DView\dcmtk/ofstd\include;D:\Code\DView\dcmtk/config\include;D:\Code\boost_1_30_0;&quot;D:\Code\boost-1.30.2&quot;;D:\Code\DView\dcmtk/dcmdata\include;D:\Code\DView\dcmtk/dcmimgle\include"
				PreprocessorDefinitions="WIN32;_DEBUG"
				StringPooling="TRUE"
				MinimalRebuild="FALSE"
				BasicRuntimeChecks="0"
				RuntimeLibrary="3"
				TreatWChar_tAsBuiltInType="TRUE"
				RuntimeTypeInfo="TRUE"
				UsePrecompiledHeader="3"
				WarningLevel="3"
				DebugInformationFormat="3"/>
			<Tool
				Name="VCCustomBuildTool"/>
			<Tool
				Name="VCLinkerTool"
				AdditionalOptions="/NOENTRY"
				AdditionalDependencies="wsock32.lib netapi32.lib vtkCommon.lib vtkGraphics.lib vtkFiltering.lib vtkIO.lib vtkHybrid.lib vtkRendering.lib vtkimaging.lib ITKCommon.lib ITKIO.lib itkpng.lib itkvnl_inst.lib itkvnl_algo.lib itkvnl.lib itkvcl.lib itknetlib.lib itksys.lib itktiff.lib itkzlib.lib itkjpeg.lib ITKMetaIO.lib ITKDICOMParser.lib ITKEXPAT.lib ITKBasicFilters.lib vtkCustom.lib ofstd.lib dcmdata.lib dcmjpeg.lib ijg8.lib ijg12.lib ijg16.lib opengl32.lib glu32.lib glaux.lib vtkControls.lib vtkImaging.lib vtkftgl.lib vtkfreetype.lib vtkDICOMParser.lib vtkpng.lib vtktiff.lib vtkzlib.lib vtkjpeg.lib vtkexpat.lib vtkPropagation.lib"
				OutputFile="$(OutDir)\$(ProjectName).exe"
				LinkIncremental="2"
				AdditionalLibraryDirectories="&quot;$(OutDir)&quot;;&quot;d:\CMakebuild\vtkVS7\bin\$(ConfigurationName)\&quot;;&quot;f:\CMakebuild\vtkVS7\bin\$(ConfigurationName)\&quot;;&quot;D:\CMakebuild\vtkVS7\bin\$(INTDIR)&quot;;D:\CMakebuild\vtkVS7\bin\;&quot;D:\CMakebuild\ITK\bin\$(INTDIR)&quot;;D:\CMakebuild\ITK\bin;&quot;D:\CMakebuild\DView\vtkCustom\$(ConfigurationName)\&quot;;&quot;D:\Code\DView\dcmtk\dcmdata\$(ConfigurationName)\&quot;;&quot;D:\Code\DView\dcmtk\ofstd\$(ConfigurationName)\&quot;;&quot;D:\Code\DView\dcmtk\dcmimgle\$(ConfigurationName)\&quot;;D:\Code\glew\lib"
				GenerateDebugInformation="TRUE"
				AssemblyDebug="1"
				SubSystem="2"/>
			<Tool
				Name="VCMIDLTool"/>
			<Tool
				Name="VCPostBuildEventTool"/>
			<Tool
				Name="VCPreBuildEventTool"/>
			<Tool
				Name="VCPreLinkEventTool"/>
			<Tool
				Name="VCResourceCompilerTool"/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"/>
			<Tool
				Name="VCXMLDataGeneratorTool"/>
			<Tool
				Name="VCWebDeploymentTool"/>
			<Tool
				Name="VCManagedWrapperGeneratorTool"/>
			<Tool
				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
		</Configuration>
		<Configuration
			Name="Release|Win32"
			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
			IntermediateDirectory="$(ConfigurationName)"
			ConfigurationType="1"
			CharacterSet="2"
			ManagedExtensions="TRUE">
			<Tool
				Name="VCCLCompilerTool"
				AdditionalIncludeDirectories="&quot;$(SolutionDir)&quot;;D:\code2\vtk\common;d:\code2\vtk\filtering;d:\code2\vtk\graphics;d:\code2\vtk\imaging;d:\code2\vtk\rendering;d:\code2\vtk\hybrid;d:\code2\vtk\io;d:\CMakebuild\vtkVS7;f:\CMakebuild\vtkVS7;D:\CMakebuild\ITK\Utilities;D:\Code\DView;D:\CMakebuild\ITK;D:\Code2\Insight\Code\Algorithms;D:\Code2\Insight\Code\BasicFilters;D:\Code2\Insight\Code\Common;D:\Code2\Insight\Code\Numerics;D:\Code2\Insight\Code\IO;D:\Code2\Insight\Code\Numerics\FEM;D:\Code2\Insight\Code\Numerics\Statistics;D:\Code2\Insight\Code\SpatialObject;D:\Code2\Insight\Utilities\MetaIO;D:\Code2\Insight\Utilities\DICOMParser;D:\CMakebuild\ITK\Utilities\DICOMParser;D:\CMakebuild\ITK\Utilities\expat;D:\Code2\Insight\Utilities\expat;D:\Code2\Insight\Utilities\vxl\vcl;D:\Code2\Insight\Utilities\vxl\core;D:\CMakebuild\ITK\Utilities\vxl\vcl;D:\CMakebuild\ITK\Utilities\vxl\core;D:\CMakebuild\ITK\Utilities\itksys;D:\Code\DView\vtkCustom;D:\Code\DView\dcmtk/ofstd\include;D:\Code\DView\dcmtk/config\include;D:\Code\boost_1_30_0;&quot;D:\Code\boost-1.30.2&quot;;D:\Code\DView\dcmtk/dcmdata\include;D:\Code\DView\dcmtk/dcmimgle\include"
				PreprocessorDefinitions="WIN32;NDEBUG"
				StringPooling="TRUE"
				MinimalRebuild="FALSE"
				RuntimeLibrary="2"
				TreatWChar_tAsBuiltInType="TRUE"
				RuntimeTypeInfo="TRUE"
				UsePrecompiledHeader="3"
				WarningLevel="3"
				DebugInformationFormat="3"/>
			<Tool
				Name="VCCustomBuildTool"/>
			<Tool
				Name="VCLinkerTool"
				AdditionalOptions="/NOENTRY"
				AdditionalDependencies="wsock32.lib netapi32.lib vtkCommon.lib vtkGraphics.lib vtkFiltering.lib vtkIO.lib vtkHybrid.lib vtkRendering.lib vtkimaging.lib ITKCommon.lib ITKIO.lib itkpng.lib itkvnl_inst.lib itkvnl_algo.lib itkvnl.lib itkvcl.lib itknetlib.lib itksys.lib itktiff.lib itkzlib.lib itkjpeg.lib ITKMetaIO.lib ITKDICOMParser.lib ITKEXPAT.lib ITKBasicFilters.lib vtkCustom.lib ofstd.lib dcmdata.lib dcmjpeg.lib ijg8.lib ijg12.lib ijg16.lib opengl32.lib glu32.lib glaux.lib vtkControls.lib vtkImaging.lib vtkftgl.lib vtkfreetype.lib vtkDICOMParser.lib vtkpng.lib vtktiff.lib vtkzlib.lib vtkjpeg.lib vtkexpat.lib vtkPropagation.lib"
				OutputFile="$(OutDir)\$(ProjectName).exe"
				LinkIncremental="1"
				AdditionalLibraryDirectories="&quot;$(OutDir)&quot;;&quot;d:\CMakebuild\vtkVS7\bin\$(ConfigurationName)\&quot;;&quot;f:\CMakebuild\vtkVS7\bin\$(ConfigurationName)\&quot;;&quot;D:\CMakebuild\vtkVS7\bin\$(INTDIR)&quot;;D:\CMakebuild\vtkVS7\bin\;&quot;D:\CMakebuild\ITK\bin\$(INTDIR)&quot;;D:\CMakebuild\ITK\bin;&quot;D:\CMakebuild\DView\vtkCustom\$(ConfigurationName)\&quot;;&quot;D:\Code\DView\dcmtk\dcmdata\$(ConfigurationName)\&quot;;&quot;D:\Code\DView\dcmtk\ofstd\$(ConfigurationName)\&quot;;&quot;D:\Code\DView\dcmtk\dcmimgle\$(ConfigurationName)\&quot;;D:\Code\glew\lib"
				GenerateDebugInformation="TRUE"
				SubSystem="2"/>
			<Tool
				Name="VCMIDLTool"/>
			<Tool
				Name="VCPostBuildEventTool"/>
			<Tool
				Name="VCPreBuildEventTool"/>
			<Tool
				Name="VCPreLinkEventTool"/>
			<Tool
				Name="VCResourceCompilerTool"/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"/>
			<Tool
				Name="VCXMLDataGeneratorTool"/>
			<Tool
				Name="VCWebDeploymentTool"/>
			<Tool
				Name="VCManagedWrapperGeneratorTool"/>
			<Tool
				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
		</Configuration>
	</Configurations>
	<References>
		<AssemblyReference
			RelativePath="{ReferencesPath}\Microsoft.VisualC.dll"/>
		<AssemblyReference
			RelativePath="mscorlib.dll"/>
		<AssemblyReference
			RelativePath="System.dll"/>
		<AssemblyReference
			RelativePath="System.Data.dll"/>
		<AssemblyReference
			RelativePath="System.Drawing.dll"/>
		<AssemblyReference
			RelativePath="System.Windows.Forms.dll"/>
		<AssemblyReference
			RelativePath="System.XML.dll"/>
		<ProjectReference
			ReferencedProjectIdentifier="{E3C24C4E-44B6-46FC-99F6-FBE0A9BEB517}"
			Name="vtkControls"/>
		<ProjectReference
			ReferencedProjectIdentifier="{F8684A4E-C794-4722-A862-2FEB58E5407F}"
			Name="vtkCustom"/>
		<ProjectReference
			ReferencedProjectIdentifier="{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}"
			Name="WinFormsUI"/>
	</References>
	<Files>
		<Filter
			Name="Source Files"
			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
			<File
				RelativePath=".\Application.cpp">
			</File>
			<File
				RelativePath=".\AssemblyInfo.cpp">
			</File>
			<File
				RelativePath=".\DicomLoad.cpp">
			</File>
			<File
				RelativePath=".\Form2DViewer.cpp">
			</File>
			<File
				RelativePath=".\FormControlWindow.cpp">
			</File>
			<File
				RelativePath=".\FormGLRender.cpp">
			</File>
			<File
				RelativePath=".\FormMain.cpp">
			</File>
			<File
				RelativePath=".\FormMipViewer.cpp">
			</File>
			<File
				RelativePath=".\FormOutputWindow.cpp">
			</File>
			<File
				RelativePath=".\FormSliceViewer.cpp">
			</File>
			<File
				RelativePath=".\LoadData.cpp">
			</File>
			<File
				RelativePath=".\pBuffer.cpp">
			</File>
			<File
				RelativePath=".\RGBImageLoad2D.cpp">
			</File>
			<File
				RelativePath=".\stdafx.cpp">
				<FileConfiguration
					Name="Debug|Win32">
					<Tool
						Name="VCCLCompilerTool"
						UsePrecompiledHeader="1"/>
				</FileConfiguration>
				<FileConfiguration
					Name="Release|Win32">
					<Tool
						Name="VCCLCompilerTool"
						UsePrecompiledHeader="1"/>
				</FileConfiguration>
			</File>
			<File
				RelativePath=".\StringConvert.cpp">
			</File>
			<File
				RelativePath=".\UIvtkOutputWindow.cpp">
			</File>
		</Filter>
		<Filter
			Name="Header Files"
			Filter="h;hpp;hxx;hm;inl;inc;xsd"
			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
			<File
				RelativePath=".\Form2DViewer.h"
				FileType="3">
				<File
					RelativePath=".\Form2DViewer.resX">
					<FileConfiguration
						Name="Debug|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.Form2DViewer.resources"/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.Form2DViewer.resources"/>
					</FileConfiguration>
				</File>
			</File>
			<File
				RelativePath=".\FormControlWindow.h"
				FileType="3">
				<File
					RelativePath=".\FormControlWindow.resX">
					<FileConfiguration
						Name="Debug|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormControlWindow.resources"/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormControlWindow.resources"/>
					</FileConfiguration>
				</File>
			</File>
			<File
				RelativePath=".\FormGLRender.h"
				FileType="3">
				<File
					RelativePath=".\FormGLRender.resX">
					<FileConfiguration
						Name="Debug|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormGLRender.resources"/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormGLRender.resources"/>
					</FileConfiguration>
				</File>
			</File>
			<File
				RelativePath=".\FormMain.h"
				FileType="3">
				<File
					RelativePath=".\FormMain.resX">
					<FileConfiguration
						Name="Debug|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormMain.resources"/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormMain.resources"/>
					</FileConfiguration>
				</File>
			</File>
			<File
				RelativePath=".\FormMipViewer.h"
				FileType="3">
				<File
					RelativePath=".\FormMipViewer.resX">
					<FileConfiguration
						Name="Debug|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormMipViewer.resources"/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormMipViewer.resources"/>
					</FileConfiguration>
				</File>
			</File>
			<File
				RelativePath=".\FormOutputWindow.h"
				FileType="3">
				<File
					RelativePath=".\FormOutputWindow.resX">
					<FileConfiguration
						Name="Debug|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormOutputWindow.resources"/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormOutputWindow.resources"/>
					</FileConfiguration>
				</File>
			</File>
			<File
				RelativePath=".\FormSliceViewer.h"
				FileType="3">
				<File
					RelativePath=".\FormSliceViewer.resX">
					<FileConfiguration
						Name="Debug|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormSliceViewer.resources"/>
					</FileConfiguration>
					<FileConfiguration
						Name="Release|Win32">
						<Tool
							Name="VCManagedResourceCompilerTool"
							ResourceFileName="$(IntDir)/DView.FormSliceViewer.resources"/>
					</FileConfiguration>
				</File>
			</File>
			<File
				RelativePath=".\RenderTexture.h">
			</File>
			<File
				RelativePath=".\resource.h">
			</File>
			<File
				RelativePath=".\RGBImageLoad2D.h">
			</File>
			<File
				RelativePath=".\stdafx.h">
			</File>
			<File
				RelativePath=".\StringConvert.h">
			</File>
			<File
				RelativePath=".\UIvtkOutputWindow.h">
			</File>
		</Filter>
		<Filter
			Name="Resource Files"
			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
			<File
				RelativePath=".\app.ico">
			</File>
			<File
				RelativePath=".\app.rc">
			</File>
		</Filter>
		<File
			RelativePath=".\ReadMe.txt">
		</File>
	</Files>
	<Globals>
		<Global
			Name="RESOURCE_FILE"
			Value="app.rc"/>
	</Globals>
</VisualStudioProject>


More information about the Insight-users mailing list