I was excited when I saw that CUDA 7.5 (with Visual Studio 2013/15) compiled Eigen 3.3rc1 w/o errors (just a bunch of warnings). When testing with CUDA 8.0 and VS2015 my hopes were wiped out. It seems that some of the errors from [bug 735](http://eigen.tuxfamily.org/bz/show_bug.cgi?id=735) are back. I get eigen\src/Core/Ref.h(89): error : "operator=" has already been declared in the current scope eigen\src/Core/Block.h(111): error : "operator=" has already been declared in the current scope when compiling // kernel.cu #include "Eigen3.3rc1/Eigen/Core" with VS2015 I get two errors: eigen3.3rc1\eigen\src/Core/Ref.h(89): error: "operator=" has already been declared in the current scope detected during instantiation of class "Eigen::RefBase<Derived> [with Derived=Eigen::Ref<PlainObjectType, Options, StrideType>]" (191): here c:\include\eigen3.3rc1\eigen\src/Core/Block.h(111): error: "operator=" has already been declared in the current scope detected during instantiation of class "Eigen::Block<XprType, BlockRow s, BlockCols, InnerPanel> [with XprType=VectorType, BlockRows=<expression>, Bloc kCols=<expression>, InnerPanel=false]" c:\include\eigen3.3rc1\eigen\src/Core/VectorBlock.h(57): here Compiling the same with VS2013 (CUDA 8) does *not* result in these errors (works fine).
Could you help us finding a workaround? To this end, have a look at file Eigen/src/Core/util/Macros.h, lines 804-821, and figure out which version is working for you? thanks.
I've created a patch that I haven't thoroughly tested (works on my current project), but have submitted as a pull request (https://bitbucket.org/eigen/eigen/pull-requests/236).
Merged: https://bitbucket.org/eigen/eigen/commits/59db0512e12d
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/1324.