Eigen failed with error C2676: binary '/': 'const T' does not define this operator or a conversion to a type acceptable to the predefined operator on Windows with VS2017
Submitted by Microsoft Visual C++ Team
Assigned to Nobody
Link to original bugzilla bug (#1747)
Operating system: Windows
Description
Hi All,
I tried to build Eigen on Windows with VS2017. It failed to build due to error C2676: binary '/': 'const T' does not define this operator or a conversion to a type acceptable to the predefined operator.It can be reproduced on latest reversion and can be first reproduced on e38dd48a commit.Could you please help take a look at this? Thanks!
Steps to reproduce:
- hg clone https://bitbucket.org/eigen/eigen/ d:\Eigen\src
- Open a VS 2017 x64 command prompt and browse to D:\Eigen
- mkdir build_x64 && pushd build_x64
- cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_SYSTEM_VERSION=10.0.17134.0 -DEIGEN_BUILD_BTL=ON ..\src\
- msbuild /m /p:Configuration=Release;Platform=x64 Eigen3.sln /t:Rebuild
Actual result:
D:\Eigen\src\unsupported\Eigen\src/SpecialFunctions/SpecialFunctionsImpl.h(615): error C2676: binary '/': 'const T' does not define this operator or a conversion to a type acceptable to the predefined operator [D:\Eigen\build_x86\unsupported\test\special_functions_1.vcxproj]
with
[
T=__m128
]
D:\Eigen\src\unsupported\Eigen\src/SpecialFunctions/SpecialFunctionsImpl.h(643): note: see reference to function template instantiation 'T Eigen::internal::generic_ndtri_lt_exp_neg_two<T,ScalarType>(const T &,const T &)' being compiled
with
[
T=__m128,