Re: [eigen] MSVC build errors

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


A little update. I fixed part of the windows problem by making Eigen only use 
alloca() on Linux (and malloc() otherwise).

But, Patrick still can't compile the unit-tests on mingw (which uses g++ 
3.4.5). That's strange as here on g++ 3.4.6 on linux, there is no problem.

Anyway, I attach his output, as I am a bit clueless. mingw seems to fail to 
resolve a template argument as it says 
	[with OtherDerived = OtherDerived,
!!!

Meanwhile, there remain the MSVC errors from the first e-mail of this thread. 
So, to anybody here with a windows devel environment (mingw or msvc), please 
have a look!

Cheers,
Benoit
[  4%] Building CXX object test/CMakeFiles/test_adjoint.dir/adjoint.obj
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h: In instantiation of
 `Eigen::MapBase<Eigen::Map<Eigen::Matrix<std::complex<float>, 10000, 1, 10000,
1, 48u>, 1> >':
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Map.h:61:   instantiated from
`Eigen::Map<Eigen::Matrix<std::complex<float>, 10000, 1, 10000, 1, 48u>, 1>'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Product.h:552:   instantiated
from `static void Eigen::ei_cache_friendly_product_selector<ProductType, LhsRows
, 0, 32, 1, RhsOrder, RhsAccess>::run(DestDerived&, const ProductType&) [with De
stDerived = Eigen::Matrix<std::complex<float>, 10000, 1, 10000, 1, 48u>, Product
Type = Eigen::Product<const Eigen::Matrix<std::complex<float>, 10000, 10000, 100
00, 10000, 48u>&, const Eigen::Matrix<std::complex<float>, 10000, 1, 10000, 1, 4
8u>&, 1>, int LhsRows = 10000, int RhsOrder = 0, int RhsAccess = 32]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Product.h:699:   instantiated
from `Derived& Eigen::MatrixBase<Derived>::lazyAssign(const Eigen::Product<Lhs,
Rhs, 1>&) [with Lhs = const Eigen::Matrix<std::complex<float>, 10000, 10000, 100
00, 10000, 48u>&, Rhs = const Eigen::Matrix<std::complex<float>, 10000, 1, 10000
, 1, 48u>&, Derived = Eigen::Matrix<std::complex<float>, 10000, 1, 10000, 1, 48u
>]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Matrix.h:337:   instantiated f
rom `Eigen::Matrix<_Scalar, _Rows, _Cols, _MaxRows, _MaxCols, _Flags>::Matrix(co
nst Eigen::MatrixBase<OtherDerived>&) [with OtherDerived = Eigen::Product<const
Eigen::Matrix<std::complex<float>, 10000, 10000, 10000, 10000, 48u>&, const Eige
n::Matrix<std::complex<float>, 10000, 1, 10000, 1, 48u>&, 1>, _Scalar = std::com
plex<float>, int _Rows = 10000, int _Cols = 1, int _MaxRows = 10000, int _MaxCol
s = 1, unsigned int _Flags = 48u]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Dot.h:261:   instantiated from
 `typename Eigen::ei_traits<T>::Scalar Eigen::MatrixBase<Derived>::dot(const Eig
en::MatrixBase<OtherDerived>&) const [with OtherDerived = Eigen::Product<const E
igen::Matrix<std::complex<float>, 10000, 10000, 10000, 10000, 48u>&, const Eigen
::Matrix<std::complex<float>, 10000, 1, 10000, 1, 48u>&, 1>, Derived = Eigen::Ma
trix<std::complex<float>, 10000, 1, 10000, 1, 48u>]'
D:\sources\trunk\kdesupport\eigen2\test\adjoint.cpp:75:   instantiated from `voi
d adjoint(const MatrixType&) [with MatrixType = Eigen::MatrixXcf]'
D:\sources\trunk\kdesupport\eigen2\test\adjoint.cpp:96:   instantiated from here

D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h:156: error: `templat
e<class OtherDerived> Derived& Eigen::MapBase::operator+=(const Eigen::MatrixBas
e<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen:
:Matrix<std::complex<float>, 10000, 1, 10000, 1, 48u>, 1>]' and `template<class
OtherDerived> Eigen::MapBase& Eigen::MapBase::operator+=(const Eigen::MatrixBase
<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen::
Matrix<std::complex<float>, 10000, 1, 10000, 1, 48u>, 1>]' cannot be overloaded
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h:160: error: `templat
e<class OtherDerived> Derived& Eigen::MapBase::operator-=(const Eigen::MatrixBas
e<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen:
:Matrix<std::complex<float>, 10000, 1, 10000, 1, 48u>, 1>]' and `template<class
OtherDerived> Eigen::MapBase& Eigen::MapBase::operator-=(const Eigen::MatrixBase
<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen::
Matrix<std::complex<float>, 10000, 1, 10000, 1, 48u>, 1>]' cannot be overloaded
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h: In instantiation of
 `Eigen::MapBase<Eigen::Map<Eigen::Matrix<int, 10000, 1, 10000, 1, 48u>, 1> >':
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Map.h:61:   instantiated from
`Eigen::Map<Eigen::Matrix<int, 10000, 1, 10000, 1, 48u>, 1>'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Product.h:552:   instantiated
from `static void Eigen::ei_cache_friendly_product_selector<ProductType, LhsRows
, 0, 32, 1, RhsOrder, RhsAccess>::run(DestDerived&, const ProductType&) [with De
stDerived = Eigen::Matrix<int, 10000, 1, 10000, 1, 48u>, ProductType = Eigen::Pr
oduct<const Eigen::Matrix<int, 10000, 10000, 10000, 10000, 48u>&, const Eigen::M
atrix<int, 10000, 1, 10000, 1, 48u>&, 1>, int LhsRows = 10000, int RhsOrder = 0,
 int RhsAccess = 32]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Product.h:699:   instantiated
from `Derived& Eigen::MatrixBase<Derived>::lazyAssign(const Eigen::Product<Lhs,
Rhs, 1>&) [with Lhs = const Eigen::Matrix<int, 10000, 10000, 10000, 10000, 48u>&
, Rhs = const Eigen::Matrix<int, 10000, 1, 10000, 1, 48u>&, Derived = Eigen::Mat
rix<int, 10000, 1, 10000, 1, 48u>]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Matrix.h:337:   instantiated f
rom `Eigen::Matrix<_Scalar, _Rows, _Cols, _MaxRows, _MaxCols, _Flags>::Matrix(co
nst Eigen::MatrixBase<OtherDerived>&) [with OtherDerived = Eigen::Product<const
Eigen::Matrix<int, 10000, 10000, 10000, 10000, 48u>&, const Eigen::Matrix<int, 1
0000, 1, 10000, 1, 48u>&, 1>, _Scalar = int, int _Rows = 10000, int _Cols = 1, i
nt _MaxRows = 10000, int _MaxCols = 1, unsigned int _Flags = 48u]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Dot.h:261:   instantiated from
 `typename Eigen::ei_traits<T>::Scalar Eigen::MatrixBase<Derived>::dot(const Eig
en::MatrixBase<OtherDerived>&) const [with OtherDerived = Eigen::Product<const E
igen::Matrix<int, 10000, 10000, 10000, 10000, 48u>&, const Eigen::Matrix<int, 10
000, 1, 10000, 1, 48u>&, 1>, Derived = Eigen::Matrix<int, 10000, 1, 10000, 1, 48
u>]'
D:\sources\trunk\kdesupport\eigen2\test\adjoint.cpp:75:   instantiated from `voi
d adjoint(const MatrixType&) [with MatrixType = Eigen::MatrixXi]'
D:\sources\trunk\kdesupport\eigen2\test\adjoint.cpp:97:   instantiated from here

D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h:156: error: `templat
e<class OtherDerived> Derived& Eigen::MapBase::operator+=(const Eigen::MatrixBas
e<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen:
:Matrix<int, 10000, 1, 10000, 1, 48u>, 1>]' and `template<class OtherDerived> Ei
gen::MapBase& Eigen::MapBase::operator+=(const Eigen::MatrixBase<OtherDerived>&)
 [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen::Matrix<int, 1000
0, 1, 10000, 1, 48u>, 1>]' cannot be overloaded
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h:160: error: `templat
e<class OtherDerived> Derived& Eigen::MapBase::operator-=(const Eigen::MatrixBas
e<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen:
:Matrix<int, 10000, 1, 10000, 1, 48u>, 1>]' and `template<class OtherDerived> Ei
gen::MapBase& Eigen::MapBase::operator-=(const Eigen::MatrixBase<OtherDerived>&)
 [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen::Matrix<int, 1000
0, 1, 10000, 1, 48u>, 1>]' cannot be overloaded
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h: In instantiation of
 `Eigen::MapBase<Eigen::Map<Eigen::Matrix<std::complex<double>, 10000, 1, 10000,
 1, 48u>, 1> >':
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Map.h:61:   instantiated from
`Eigen::Map<Eigen::Matrix<std::complex<double>, 10000, 1, 10000, 1, 48u>, 1>'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Product.h:552:   instantiated
from `static void Eigen::ei_cache_friendly_product_selector<ProductType, LhsRows
, 0, 32, 1, RhsOrder, RhsAccess>::run(DestDerived&, const ProductType&) [with De
stDerived = Eigen::Matrix<std::complex<double>, 10000, 1, 10000, 1, 48u>, Produc
tType = Eigen::Product<const Eigen::Matrix<std::complex<double>, 10000, 10000, 1
0000, 10000, 48u>&, const Eigen::Matrix<std::complex<double>, 10000, 1, 10000, 1
, 48u>&, 1>, int LhsRows = 10000, int RhsOrder = 0, int RhsAccess = 32]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Product.h:699:   instantiated
from `Derived& Eigen::MatrixBase<Derived>::lazyAssign(const Eigen::Product<Lhs,
Rhs, 1>&) [with Lhs = const Eigen::Matrix<std::complex<double>, 10000, 10000, 10
000, 10000, 48u>&, Rhs = const Eigen::Matrix<std::complex<double>, 10000, 1, 100
00, 1, 48u>&, Derived = Eigen::Matrix<std::complex<double>, 10000, 1, 10000, 1,
48u>]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Matrix.h:337:   instantiated f
rom `Eigen::Matrix<_Scalar, _Rows, _Cols, _MaxRows, _MaxCols, _Flags>::Matrix(co
nst Eigen::MatrixBase<OtherDerived>&) [with OtherDerived = Eigen::Product<const
Eigen::Matrix<std::complex<double>, 10000, 10000, 10000, 10000, 48u>&, const Eig
en::Matrix<std::complex<double>, 10000, 1, 10000, 1, 48u>&, 1>, _Scalar = std::c
omplex<double>, int _Rows = 10000, int _Cols = 1, int _MaxRows = 10000, int _Max
Cols = 1, unsigned int _Flags = 48u]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Dot.h:261:   instantiated from
 `typename Eigen::ei_traits<T>::Scalar Eigen::MatrixBase<Derived>::dot(const Eig
en::MatrixBase<OtherDerived>&) const [with OtherDerived = Eigen::Product<const E
igen::Matrix<std::complex<double>, 10000, 10000, 10000, 10000, 48u>&, const Eige
n::Matrix<std::complex<double>, 10000, 1, 10000, 1, 48u>&, 1>, Derived = Eigen::
Matrix<std::complex<double>, 10000, 1, 10000, 1, 48u>]'
D:\sources\trunk\kdesupport\eigen2\test\adjoint.cpp:75:   instantiated from `voi
d adjoint(const MatrixType&) [with MatrixType = Eigen::MatrixXcd]'
D:\sources\trunk\kdesupport\eigen2\test\adjoint.cpp:98:   instantiated from here

D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h:156: error: `templat
e<class OtherDerived> Derived& Eigen::MapBase::operator+=(const Eigen::MatrixBas
e<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen:
:Matrix<std::complex<double>, 10000, 1, 10000, 1, 48u>, 1>]' and `template<class
 OtherDerived> Eigen::MapBase& Eigen::MapBase::operator+=(const Eigen::MatrixBas
e<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen:
:Matrix<std::complex<double>, 10000, 1, 10000, 1, 48u>, 1>]' cannot be overloade
d
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h:160: error: `templat
e<class OtherDerived> Derived& Eigen::MapBase::operator-=(const Eigen::MatrixBas
e<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen:
:Matrix<std::complex<double>, 10000, 1, 10000, 1, 48u>, 1>]' and `template<class
 OtherDerived> Eigen::MapBase& Eigen::MapBase::operator-=(const Eigen::MatrixBas
e<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen:
:Matrix<std::complex<double>, 10000, 1, 10000, 1, 48u>, 1>]' cannot be overloade
d
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h: In instantiation of
 `Eigen::MapBase<Eigen::Map<Eigen::Matrix<float, 100, 1, 100, 1, 48u>, 1> >':
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Map.h:61:   instantiated from
`Eigen::Map<Eigen::Matrix<float, 100, 1, 100, 1, 48u>, 1>'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Product.h:552:   instantiated
from `static void Eigen::ei_cache_friendly_product_selector<ProductType, LhsRows
, 0, 32, 1, RhsOrder, RhsAccess>::run(DestDerived&, const ProductType&) [with De
stDerived = Eigen::Matrix<float, 100, 1, 100, 1, 48u>, ProductType = Eigen::Prod
uct<const Eigen::Matrix<float, 100, 100, 100, 100, 48u>&, const Eigen::Matrix<fl
oat, 100, 1, 100, 1, 48u>&, 1>, int LhsRows = 100, int RhsOrder = 0, int RhsAcce
ss = 32]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Product.h:699:   instantiated
from `Derived& Eigen::MatrixBase<Derived>::lazyAssign(const Eigen::Product<Lhs,
Rhs, 1>&) [with Lhs = const Eigen::Matrix<float, 100, 100, 100, 100, 48u>&, Rhs
= const Eigen::Matrix<float, 100, 1, 100, 1, 48u>&, Derived = Eigen::Matrix<floa
t, 100, 1, 100, 1, 48u>]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Matrix.h:337:   instantiated f
rom `Eigen::Matrix<_Scalar, _Rows, _Cols, _MaxRows, _MaxCols, _Flags>::Matrix(co
nst Eigen::MatrixBase<OtherDerived>&) [with OtherDerived = Eigen::Product<const
Eigen::Matrix<float, 100, 100, 100, 100, 48u>&, const Eigen::Matrix<float, 100,
1, 100, 1, 48u>&, 1>, _Scalar = float, int _Rows = 100, int _Cols = 1, int _MaxR
ows = 100, int _MaxCols = 1, unsigned int _Flags = 48u]'
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/Dot.h:261:   instantiated from
 `typename Eigen::ei_traits<T>::Scalar Eigen::MatrixBase<Derived>::dot(const Eig
en::MatrixBase<OtherDerived>&) const [with OtherDerived = Eigen::Product<const E
igen::Matrix<float, 100, 100, 100, 100, 48u>&, const Eigen::Matrix<float, 100, 1
, 100, 1, 48u>&, 1>, Derived = Eigen::Matrix<float, 100, 1, 100, 1, 48u>]'
D:\sources\trunk\kdesupport\eigen2\test\adjoint.cpp:75:   instantiated from `voi
d adjoint(const MatrixType&) [with MatrixType = Eigen::Matrix<float, 100, 100, 1
00, 100, 48u>]'
D:\sources\trunk\kdesupport\eigen2\test\adjoint.cpp:101:   instantiated from her
e
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h:156: error: `templat
e<class OtherDerived> Derived& Eigen::MapBase::operator+=(const Eigen::MatrixBas
e<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen:
:Matrix<float, 100, 1, 100, 1, 48u>, 1>]' and `template<class OtherDerived> Eige
n::MapBase& Eigen::MapBase::operator+=(const Eigen::MatrixBase<OtherDerived>&) [
with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen::Matrix<float, 100,
 1, 100, 1, 48u>, 1>]' cannot be overloaded
D:/sources/trunk/kdesupport/eigen2/Eigen/src/Core/MapBase.h:160: error: `templat
e<class OtherDerived> Derived& Eigen::MapBase::operator-=(const Eigen::MatrixBas
e<OtherDerived>&) [with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen:
:Matrix<float, 100, 1, 100, 1, 48u>, 1>]' and `template<class OtherDerived> Eige
n::MapBase& Eigen::MapBase::operator-=(const Eigen::MatrixBase<OtherDerived>&) [
with OtherDerived = OtherDerived, Derived = Eigen::Map<Eigen::Matrix<float, 100,
 1, 100, 1, 48u>, 1>]' cannot be overloaded
mingw32-make[2]: *** [test/CMakeFiles/test_adjoint.dir/adjoint.obj] Error 1


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/