This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen

Bug 1702

Summary: Eigen failed with errors C2065 C2440 C2672 C2169 C2664 C2660 when build with MSVC
Product: Eigen Reporter: Microsoft Visual C++ Team <visualcpp>
Component: EigenvaluesAssignee: Nobody <eigen.nobody>
Status: RESOLVED FIXED    
Severity: Unknown CC: chtz, gael.guennebaud, jacob.benoit.1, jitseniesen
Priority: Normal    
Version: unspecified   
Hardware: x86 - 64-bit   
OS: Windows   
Whiteboard:

Description Microsoft Visual C++ Team 2019-04-30 03:19:51 UTC
Hi All,

I tried to build Eigen on Windows with VS2017. It failed to build due to errors C2065 C2440 C2672 C2169 C2664 C2660.It can be reproduced on latest reversion and can be first reproduced on 6617972 commit.Could you please help take a look at this? Thanks!

Steps to reproduce:
1. hg clone https://bitbucket.org/eigen/eigen/ d:\Eigen\src
2. Open a VS 2017 x64 command prompt and browse to D:\Eigen
3. mkdir build_x64 && pushd build_x64
4. cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_SYSTEM_VERSION=10.0.17134.0 -DEIGEN_BUILD_BTL=ON ..\src\
5. msbuild /m /p:Configuration=Release;Platform=x64 Eigen3.sln /t:Rebuild

Actual result:
D:\Eigen\src\Eigen\src/Core/arch/SSE/TypeCasting.h(73,10): error C2065:  '_mm_castps_si128': undeclared identifier [D:\Eigen\build_x86\test\array_for_matrix_8.vcxproj]
D:\Eigen\src\Eigen\src/Core/arch/SSE/Complex.h(59,1): error C2440:  'initializing': cannot convert from '__m128 (__cdecl *)(__m128i)' to 'const __m128'
D:\Eigen\src\Eigen\src/Core/arch/SSE/Complex.h(151,104): error C2672:  'Eigen::internal::preverse': no matching overloaded function found
D:\Eigen\src\Eigen\src/Core/arch/SSE/Complex.h(379,22): error C2660:  '_mm_add_pd': function does not take 1 arguments [D:\Eigen\build_x86\test\array_for_matrix_8.vcxproj]
D:\Eigen\src\Eigen\src/Core/arch/SSE/PacketMath.h(1057,51): error C2169:  '_mm_castpd_si128': intrinsic function, cannot be defined 
D:\Eigen\src\Eigen\src/Core/arch/SSE/Complex.h(134,104): error C2664:  'void _mm_prefetch(const char *,int)': cannot convert argument 1 from 'Eigen::internal::SsePrefetchPtrType' to 'const char *'
Comment 1 Christoph Hertzberg 2019-05-06 13:31:55 UTC
*** Bug 1703 has been marked as a duplicate of this bug. ***
Comment 2 Christoph Hertzberg 2019-05-06 13:46:02 UTC
Did this commit fix the issue? (If so, close this as "FIXED"):
https://bitbucket.org/eigen/eigen/commits/bf5052da0fca

If not what is the value of EIGEN_COMP_PGI on your system?

I don't have MSVC, so I can't check.
Comment 3 Christoph Hertzberg 2019-07-16 12:59:07 UTC
I'm assuming this got fixed. Feel free to re-open (in that case, tell the value of EIGEN_COMP_PGI).
Comment 4 Nobody 2019-12-04 18:36:07 UTC
-- 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/1702.