This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Compiling error in MSVC2008

Tags: None
(comma "," separated)
oguz286
Registered Member
Posts
1
Karma
0

Compiling error in MSVC2008  Topic is solved

Mon Mar 22, 2010 11:45 am
[UPDATE2]
/facepalm

nvcc is a C compiler, so OBVIOUSLY it's not gonna work :<
[/UPDATE2]

[UPDATE]
I think the problem lies with the nvcc compiler I use. This project uses CUDA which uses the GPU as a processing unit and uses the nvcc compiler to compile part of the code. In the output window I saw these errors when the nvcc compiler started compile.
[/UPDATE]

Hi,

I'm trying to use the Eigen library for a project of mine, but I haven't succeeded in compiling the project when I use Eigen.

What I did was copy the Eigen folder to the source folder of my project and add #include "../math/Eigen/Core" to a global header file that gets included by the rest of the project. I got these compiler errors:

Code: Select all
Warning   1   warning: integer conversion resulted in a change of sign   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\SolveTriangular.h   36   ogutracer
Warning   2   warning: integer conversion resulted in a change of sign   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\SolveTriangular.h   37   ogutracer
Warning   3   warning: integer conversion resulted in a change of sign   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\SolveTriangular.h   36   ogutracer
Warning   4   warning: integer conversion resulted in a change of sign   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\SolveTriangular.h   37   ogutracer
Warning   5   warning: controlling expression is constant   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\MatrixStorage.h   43   ogutracer
Warning   6   warning: integer conversion resulted in a change of sign   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\SolveTriangular.h   36   ogutracer
Warning   7   warning: integer conversion resulted in a change of sign   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\SolveTriangular.h   37   ogutracer
Warning   8   warning: integer conversion resulted in a change of sign   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\SolveTriangular.h   36   ogutracer
Warning   9   warning: integer conversion resulted in a change of sign   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\SolveTriangular.h   37   ogutracer
Warning   10   warning: integer conversion resulted in a change of sign   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\SolveTriangular.h   36   ogutracer
Warning   11   warning: integer conversion resulted in a change of sign   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\SolveTriangular.h   37   ogutracer
Warning   12   warning: controlling expression is constant   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Block.h   586   ogutracer
Warning   13   warning: controlling expression is constant   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Block.h   606   ogutracer
Warning   14   warning: controlling expression is constant   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Block.h   638   ogutracer
Warning   15   warning: controlling expression is constant   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Block.h   659   ogutracer
Warning   16   warning: statement is unreachable   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Geometry\Rotation2D.h   88   ogutracer
Warning   17   warning: controlling expression is constant   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Geometry\Transform.h   716   ogutracer
Warning   18   warning: controlling expression is constant   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Geometry\Hyperplane.h   218   ogutracer

Error   1   error C3747: missing default template parameter : parameter 3   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\util\XprHelper.h   198   ogutracer
Error   2   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\NestByValue.h   49   ogutracer
Error   3   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Flagged.h   53   ogutracer
Error   4   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Matrix.h   131   ogutracer
Error   5   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\CwiseBinaryOp.h   85   ogutracer
Error   6   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\CwiseUnaryOp.h   65   ogutracer
Error   7   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\CwiseNullaryOp.h   62   ogutracer
Error   8   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Product.h   171   ogutracer
Error   9   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\DiagonalProduct.h   94   ogutracer
Error   10   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Map.h   64   ogutracer
Error   11   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Block.h   69   ogutracer
Error   12   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Block.h   70   ogutracer
Error   13   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Block.h   98   ogutracer
Error   14   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Block.h   221   ogutracer
Error   15   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Minor.h   45   ogutracer
Error   16   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Minor.h   46   ogutracer
Error   17   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Minor.h   66   ogutracer
Error   18   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Transpose.h   44   ogutracer
Error   19   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Transpose.h   45   ogutracer
Error   20   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Transpose.h   64   ogutracer
Error   21   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\DiagonalMatrix.h   46   ogutracer
Error   22   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\DiagonalMatrix.h   47   ogutracer
Error   23   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\DiagonalMatrix.h   64   ogutracer
Error   24   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\DiagonalCoeffs.h   46   ogutracer
Error   25   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\DiagonalCoeffs.h   47   ogutracer
Error   26   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\DiagonalCoeffs.h   67   ogutracer
Error   27   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Swap.h   53   ogutracer
Error   28   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Part.h   49   ogutracer
Error   29   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Part.h   50   ogutracer
Error   30   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Core\Part.h   62   ogutracer
Error   31   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Array\Select.h   69   ogutracer
Error   32   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Array\PartialRedux.h   54   ogutracer
Error   33   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Array\PartialRedux.h   55   ogutracer
Error   34   error C2976: 'Eigen::ei_nested' : too few template arguments   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Array\PartialRedux.h   80   ogutracer
Error   35   error C2244: 'Eigen::Matrix<_Scalar,_Rows,_Cols,_StorageOrder,_MaxRows,_MaxCols>::{ctor}' : unable to match function definition to an existing declaration   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Geometry\RotationBase.h   82   ogutracer
Error   36   error C2244: 'Eigen::Matrix<_Scalar,_Rows,_Cols,_StorageOrder,_MaxRows,_MaxCols>::operator =' : unable to match function definition to an existing declaration   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Geometry\RotationBase.h   96   ogutracer
Error   37   error C2244: 'Eigen::Transform<_Scalar,_Dim>::operator =' : unable to match function definition to an existing declaration   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Geometry\Transform.h   591   ogutracer
Error   38   error C2244: 'Eigen::Transform<_Scalar,_Dim>::operator *' : unable to match function definition to an existing declaration   d:\projects\ogutracer\cuda\ogutracer-cuda\src\math\eigen\src\Geometry\Transform.h   600   ogutracer


The reason I get the same error multiple times is because I have multiple projects in my solution that include the same global header file. If I remove the include I still get the same errors, unless I clean and rebuild. These errors disappear when I remove the Eigen folder from the source folder.

I made a new windows console project, copied the Eigen folder to the source folder and include Eigen/Core. That project compiles just fine and the output is correct. So I checked the compiler options for both projects and adjested them accordingly. And I still get the same errors in my existing project.

Does anyone have a clue what the problem could be?


Bookmarks



Who is online

Registered users: abc72656, Bing [Bot], daret, Google [Bot], Sogou [Bot], Yahoo [Bot]