| [eigen] nasty msvc compilation issue | 
[ Thread Index | 
Date Index
| More lists.tuxfamily.org/eigen Archives
] 
- To: Eigen <eigen@xxxxxxxxxxxxxxxxxxx>
 
- Subject: [eigen] nasty msvc compilation issue
 
- From: Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
 
- Date: Mon, 1 Mar 2010 17:13:19 +0100
 
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;        d=googlemail.com; s=gamma;        h=domainkey-signature:mime-version:received:date:message-id:subject         :from:to:content-type;        bh=hlSbVvtxE4qQQ/pKbE0DF57jMhOVIYannCPSGPlSdL0=;        b=iNucJW6sxk5PtAedUbroOMMGQyaaascS8ccID59OBzlVy+CHEB0N1604tYa3rHrwk1         +sHTJ7qFZYmU+IvChY2row6Is9h/aXmPiUotoUZaG2Is8JUgvt8iwFaU1sSl69qkFx7G         5JignEcsCnA78h3HIXY7fBaZoWyTdhwH2qdMI=
 
- Domainkey-signature: a=rsa-sha1; c=nofws;        d=googlemail.com; s=gamma;        h=mime-version:date:message-id:subject:from:to:content-type;        b=tbwavvLrnk8lxETC38r7C5MBUC5UF3XVNX/+3RIWu2w6+Mget0GWy+/yJW/b7OoWPj         iqFSZ3OcsMnPov9fl5fSEut7uM6CaIaTn/jUcKlK1UUcf4J6TIm/8zo0DzrXqcxIn8NL         g0ieinNse7riRyH8H03fB439zeHqliLywxdj4=
 
Hi guys,
I am failing to fix the following issue. The little program below does
not compile:
#include <Eigen/Core>
using namespace Eigen;
void main()
{
  //MatrixXcd m;
  typedef Eigen::MatrixXcd MatrixType;
  typedef Eigen::Map< MatrixType > MapType;
  typedef Eigen::Block< MapType, Eigen::Dynamic, Eigen::Dynamic > BlockType;
}
The compiler tells me BlockType is undeclared. Ok, so let's forget
about the compiler issues and try to reason.
We are nesting a block and a map and the base classes are defined via
the MakeBase struct, e.g. for blocks, the base class is defined as
MatrixType::template MakeBase<
  Block<MatrixType, BlockRows, BlockCols, _DirectAccessStatus>
>::Type
My first guess was that MatrixType = Map is causing the issue since
Map does not offer the MakeBase struct - but then, Map derives from
MatrixBase<MatrixType> and there the struct is offered. So probably
the wrong guess.
The fun part is that as soon as I uncomment "MatrixXcd m;" everything
compiles just fine.
For the moment, I am out of ideas - any help would be great!
- Hauke
p.s. As usual default branch and msvc 2008 sp 1...