[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