[Insight-developers] Re: [Insight-users] Fixing bugs for ITK with MinGW

Luis Ibanez luis.ibanez at kitware.com
Fri Sep 7 13:55:48 EDT 2007


Hi Dave,

Well,
building SHARED_LIBS works on Windows when we build the wrappings.

...


I thought that the patch was working for Tomas...


         Tomas:  Can you please verify this ?


We are about to release ITK 3.4 in a week, so we can not really
afford to commit patches that are not working.


    Please let us know,


      Thanks


        Luis


-------------------
David Cole wrote:
> I think the patch is insufficient...
> 
> I tried to build it yesterday after applying the patch, and it got 
> farther.... but then I got multiply defined symbols trying to link 
> ITKCommon and vnl libs in itkNumericsTests.exe : it ends up seeing the 
> same symbols coming from both libs (since the patch makes ITKCommon 
> export *everything*...)
> 
> Either that, or I'm doing something wrong with my MinGW build.
> 
> Is BUILD_SHARED_LIBS supposed to work at all on Windows...? Do we have 
> dashboards that verify it works with other environments besides MinGW?
> 
> It appears to be building a lot of static libs anyhow, even though I've 
> set BUILD_SHARED_LIBS to ON. Looks like ITKCommon is the only thing that 
> gets built as a dll....
> 
> Error details follow, for those curious enough to read through them. 
> Further suggestions welcome.
> 
> ??
> David
> 
> 
> 
> mingw32-make output:
> 
> [  0%] Built target itkzlib
> [  1%] Built target itkpng
> [  2%] Built target itktiff
> [  3%] Built target itkopenjpeg
> [  4%] Built target ITKMetaIO
> [  6%] Built target ITKNrrdIO
> [  6%] Built target ITKEXPAT
> [  6%] Built target ITKDICOMParser
> [  6%] Built target itksysProcessFwd9x
> [  6%] Built target itksysEncodeExecutable
> [  7%] Built target itksys
> [  9%] Built target itkjpeg8
> [ 12%] Built target itkjpeg12
> [ 15%] Built target itkjpeg16
> [ 17%] Built target itkgdcm
> [ 17%] Built target ITKznz
> [ 17%] Built target ITKniftiio
> [ 17%] Built target itkvcl
> [ 18%] Built target vcl_test_all
> [ 18%] Built target vcl_test_include
> [ 29%] Built target itkv3p_netlib
> [ 29%] Built target itktestlib
> [ 38%] Built target itkvnl
> [ 38%] Built target testlib_test_all
> [ 38%] Built target testlib_test_include
> [ 38%] Built target testlib_test_link
> [ 41%] Built target itkvnl_algo
> [ 41%] Built target vnl_basic_operation_timings
> [ 42%] Built target vnl_test_all
> [ 42%] Built target vnl_test_include
> [ 44%] Built target vnl_algo_test_all
> [ 44%] Built target vnl_algo_test_include
> [ 45%] Built target itkvnl_inst
> [ 48%] Built target ITKCommon
> [ 49%] Built target ITKNumerics
> [ 49%] Built target ITKBasicFilters
> [ 49%] Built target ITKAlgorithms
> [ 49%] Built target ITKSpatialObject
> [ 52%] Built target ITKIO
> [ 52%] Built target itkTestDriver
> [ 53%] Built target ITKStatistics
> [ 55%] Built target ITKFEM
> [ 55%] Built target itkNumericsHeaderTest
> Linking CXX executable ../../../bin/itkNumericsTests.exe
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+ 
> 
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::vnl_vector(unsigned int
> )'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000360.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::vnl_vector(unsigned int
> )'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000345.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::vnl_vector(vnl_vector<d
> ouble> const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000351.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::vnl_vector(vnl_vector<d
> ouble> const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000336.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::vnl_vector(vnl_vector<d
> ouble> const&, vnl_vector<double> const&, vnl_tag_add)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000338.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::vnl_vector(vnl_vector<d
> ouble> const&, vnl_vector<double> const&, vnl_tag_sub)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000339.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::vnl_vector(vnl_vector<d
> ouble> const&, double, vnl_tag_mul)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000342.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::vnl_vector(vnl_matrix<d
> ouble> const&, vnl_vector<double> const&, vnl_tag_mul)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000335.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::~vnl_vector()'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a( 
> d000365.o): first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+ 
> 
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::~vnl_vector()'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000364.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::fill(double const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000322.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+ 
> 
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::operator=(vnl_vector<do
> uble> const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000366.o 
> ): first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+ 
> 
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::operator/=(double)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000369.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::swap(vnl_vector<double>
> &)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000325.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::operator_eq(vnl_vector<
> double> const&) const'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d005750.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of `double 
> inner_product<double>(vnl_vector<dou
> ble> const&, vnl_vector<double> const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000023.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of `double 
> dot_product<double>(vnl_vector<doubl
> e> const&, vnl_vector<double> const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000003.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of `std::ostream& 
> operator<< <double>(std::ostr
> eam&, vnl_vector<double> const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d009818.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::set_size(unsigned int)'
> 
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000332.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+double-.obj): 
> In function
>  `ZSt14__copy_trivialIdEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c+
> +/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<double>::destroy()'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a( 
> d000331.o): first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c 
> 
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_matrix<double>::vnl_matrix(unsigned in
> t, unsigned int)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000220.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_matrix<double>::vnl_matrix(unsigned in
> t, unsigned int)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000205.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_matrix<double>::vnl_matrix(unsigned in
> t, unsigned int, double const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a( 
> d000207.o): first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c 
> 
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_matrix<double>::vnl_matrix(double cons
> t*, unsigned int, unsigned int)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a( 
> d000195.o): first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c 
> 
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_matrix<double>::vnl_matrix(vnl_matrix<
> double> const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000196.o 
> ): first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c 
> 
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_matrix<double>::~vnl_matrix()'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000226.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_matrix<double>::~vnl_matrix()'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a( 
> d000225.o): first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c 
> 
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_matrix<double>::fill(double const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000179.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_matrix<double>::operator=(vnl_matrix<d
> ouble> const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000227.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_matrix<double>::set_identity()'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a( 
> d000170.o): first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c 
> 
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of `std::ostream& 
> operator<< <double>(std::ost
> ream&, vnl_matrix<double> const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a( 
> d009817.o): first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_matrix+double-.obj): 
> In function
>  `ZSt14__copy_trivialIPdEPT_PKS1_S4_S2_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c 
> 
> ++/3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_matrix<double>::set_size(unsigned int,
>  unsigned int)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000193.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+float-.obj): 
> In function
> `ZSt14__copy_trivialIfEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++
> /3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<float>::vnl_vector(unsigned int)'
> 
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000423.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+float-.obj): 
> In function
> `ZSt14__copy_trivialIfEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++ 
> 
> /3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<float>::~vnl_vector()'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000428.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+float-.obj): 
> In function
> `ZSt14__copy_trivialIfEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++
> /3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<float>::operator=(vnl_vector<floa
> t> const&)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000429.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_vector+float-.obj): 
> In function
> `ZSt14__copy_trivialIfEPT_PKS0_S3_S1_':C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++
> /3.4.2/bits/stl_algobase.h:257: multiple definition of 
> `vnl_vector<float>::set_size(unsigned int)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000395.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_c_vector+double-.obj): 
> In functi
> on 
> `Z12print_vectorIdERSoS0_PKT_j':C:/Users/DAVID~1.COL/DASHBO~1/MYTEST~1/Insight/UTILIT~1/vxl/core/ 
> 
> vnl/vnl_c_vector.txx:473: multiple definition of `void 
> vnl_c_vector_two_norm<double, double>(double
> const*, unsigned int, double*)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a( 
> d000107.o): first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_c_vector+double-.obj): 
> In functi
> on 
> `Z12print_vectorIdERSoS0_PKT_j':C:/Users/DAVID~1.COL/DASHBO~1/MYTEST~1/Insight/UTILIT~1/vxl/core/ 
> 
> vnl/vnl_c_vector.txx:473: multiple definition of 
> `vnl_c_vector<double>::normalize(double*, unsigned
> int)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000479.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_c_vector+double-.obj): 
> In functi
> on 
> `Z12print_vectorIdERSoS0_PKT_j':C:/Users/DAVID~1.COL/DASHBO~1/MYTEST~1/Insight/UTILIT~1/vxl/core/
> vnl/vnl_c_vector.txx:473: multiple definition of 
> `vnl_c_vector<double>::max_value(double const*, uns
> igned int)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000477.o): 
> first defined her
> e
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin\libitkvnl.a(vnl_c_vector+double-.obj): 
> In functi
> on 
> `Z12print_vectorIdERSoS0_PKT_j':C:/Users/DAVID~1.COL/DASHBO~1/MYTEST~1/Insight/UTILIT~1/vxl/core/
> vnl/vnl_c_vector.txx:473: multiple definition of 
> `vnl_c_vector<double>::allocate_Tptr(int)'
> C:\Users\DAVID~1.COL\DASHBO~1\MYTEST~1\INSIGH~2\bin/libITKCommon.dll.a(d000446.o): 
> first defined her
> e
> collect2: ld returned 1 exit status
> mingw32-make.exe[2]: *** [bin/itkNumericsTests.exe] Error 1
> mingw32-make.exe[1]: *** 
> [Testing/Code/Numerics/CMakeFiles/itkNumericsTests.dir/all] Error 2
> mingw32-make.exe: *** [all] Error 2
> 
> 
> 
> 
> On 9/7/07, *Ali -* <saveez at hotmail.com <mailto:saveez at hotmail.com>> wrote:
> 
> 
>     Could someone confirm that the patch has been applied to CVS?
> 
> 
> 
>>
>>  No, I do not have anything specific in mind, just asking.
>>
>>  The patch is attached.
>>
>>  Regards,
>>  Tomas
>>
>>
>>  # ------------ Původní zpráva ------------
>>  # Od: Ali - < saveez at hotmail.com <mailto:saveez at hotmail.com>>
>>  # Předmět: RE: [Insight-developers] Re: [Insight-users] Fixing
>     bugs for ITK with
>>  # MinGW
>>  # Datum: 06.9.2007 19:04:01
>>  # ----------------------------------------
>>  #
>>  # Tomas,
>>  #
>>  # We are simply exporting all the symbols, I cannot think of any
>     'side effects'
>>  # unless you have something in your mind.
>>  #
>>  # >
>>  # > Hi,
>>  # >
>>  # > including that flag solves our problem. I checked it by directly
>>  # > changing link.txt of ITKCommon.dll.Question is whether there
>>  # > are any side effects? If there are no objections l'll try to
>     write a
>>  # > patch with appropriate SET_TARGET_PROPERTIES
>>  # > LINK_FLAGS and a MINGW-only guard.
>>  # >
>>  # > Regards,
>>  # > Tomas
>>  # >
>>  # > # Following this
>>  # > #
>     [http://public.kitware.com/pipermail/vtkusers/2006-February/083673.html
>     <http://public.kitware.com/pipermail/vtkusers/2006-February/083673.html>],
>>  # does
>>  # > # the cmake script contain generating the suggested export flags?
>>  # > #
>>  # > #
>>  # > # I have reproduced this BUILD_SHARED_LIBS/mingw error with
>     CVS ITK and MinGW
>>  # on
>>  # > # my laptop..... If anybody has another suggestion about how
>     to fix it, I'd
>>  # be
>>  # > # happy to try it out...
>>  # > #
>>  # > #
>>  # > # David
>>  # > #
>>  # > #
>>  # > #
>>  # > # On 9/5/07, Ali - <saveez at hotmail.com
>     <mailto:saveez at hotmail.com>> wrote:
>>  # > #
>>  # > #
>>  # > #
>>  # > #
>>  # > #
>>  # > #
>>  # > #
>>  # > #
>>  # > # > Well,
>>  # > # >
>>  # > # > It turns out that the symbol template class
>>  # > # >
>>  # > # > itk::SmartPointerForwardReference<>
>>  # > # >
>>  # > #
>>  # > # > is actually already defined and exported in the file
>>  # > # >
>>  # > # > itkSmartPointerForwardReferenceProcessObject.cxx
>>  # > # >
>>  # > # >
>>  # > # > but the CMakeLists.txt file only adds it to the list of
>>  # > # > source files if "WIN32" is defined.
>>  # > #
>>  # > # >
>>  # > # > Yesterday, I tried modifying the CMake logic to include
>>  # > # > itkSmartPointerForwardReferenceProcessObject.cxx in the
>>  # > # > ITKCommon library when we build on MinGW:
>>  # > # >
>>  # > # >
>>  # > #
>>  #
>     http://www.itk.org/cgi-bin/viewcvs.cgi/Code/Common/CMakeLists.txt.diff?cvsroot=Insight&r1=1.123&r2=1.124
>     <http://www.itk.org/cgi-bin/viewcvs.cgi/Code/Common/CMakeLists.txt.diff?cvsroot=Insight&r1=1.123&r2=1.124>
>>  # > # >
>>  # > # >
>>  # > # > Lines 90-94:
>>  # > # >
>>  # > # >
>>  # > # > ELSE (WIN32)
>>  # > # > IF(MINGW)
>>  # > #
>>  # > # > SET(ITKCommon_SRCS ${ITKCommon_SRCS}
>>  # > # > itkSmartPointerForwardReferenceProcessObject.cxx )
>>  # > # > ENDIF(MINGW)
>>  # > # > ENDIF (WIN32)
>>  # > # >
>>  # > #
>>  # > # Cmake never goes to
>>  # > #
>>  # > #
>>  # > # ELSE (WIN32)
>>  # > # ...
>>  # > # ENDIF (WIN32)
>>  # > #
>>  # > #
>>  # > # it only goes to
>>  # > #
>>  # > #
>>  # > # IF (WIN32)
>>  # > #
>>  # > # ...
>>  # > #
>>  # > # ENDIF (WIN32)
>>  # > #
>>  # > #
>>  # > # as I checked it by MESSAGE(), and on my XP+MINGW+MSYS system.
>>  # > #
>>  # > # Since the target
>     itkSmartPointerForwardReferenceProcessObject.cxx is
>>  # already
>>  # > # included in the WIN32 condition, this does not make any
>     changes to the
>>  # errors.
>>  # > #
>>  # > #
>>  # > # >
>>  # > # >
>>  # > # > However I'm not sure if this is the appropriate logic...
>>  # > # >
>>  # > # >
>>  # > # > Ali: Could you please update your CVS checkout of ITK
>>  # > # > and give it a try ?
>>  # > #
>>  # > #
>>  # > # I gave it a try, the same errors again.
>>  # > #
>>  # > # >
>>  # > # > You may want to add a MESSAGE() in the middle of the
>>  # > # > IF(MINGW) to make sure that CMake is actually visiting
>>  # > # > that line.
>>  # > #
>>  # > # >
>>  # > # >
>>  # > # > Please let us know if this change works for you,
>>  # > # >
>>  # > # >
>>  # > # > Thanks
>>  # > # >
>>  # > # >
>>  # > # >
>>  # > # > Luis
>>  # > # >
>>  # > #
>>  # > #
>>  # > # Play Movie Mash-up and win
>>  # > # BIG prizes!
>>  # > #
>>  # > # _______________________________________________
>>  # > # Insight-developers mailing list
>>  # > # Insight-developers at itk.org <mailto:Insight-developers at itk.org>
>>  # > #
>>  # > # http://www.itk.org/mailman/listinfo/insight-developers
>     <http://www.itk.org/mailman/listinfo/insight-developers>
>>  # > #
>>  # > #
>>  # > #
>>  # > #
>>  # > #
>>  # > #
>     _________________________________________________________________
>>  # > # 100's of Music vouchers to be won with MSN Music
>>  # > # https://www.musicmashup.co.uk
>>  # > #
>>  # > #
>>  #
>>  # _________________________________________________________________
>>  # Get free emoticon packs and customisation from Windows Live.
>>  # http://www.pimpmylive.co.uk
>>  #
>>  #
> 
>     ------------------------------------------------------------------------
>     Are you the Quizmaster? Play BrainBattle with a friend now!
>     <http://specials.uk.msn.com/brainbattle>
> 
> 


More information about the Insight-developers mailing list