Hi,

I am using VS2015 terminal and cmake to build GDAL on windows. I got the 
following compilation error for filegdbindex_write.cpp. Any idea?

  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1388): note: 
while trying to match the argument list 
'(OpenFileGDB::FileGDBTable::CreateAttributeIndex::<lambda_270e841f7399ccc74e1100890f395fab>)'
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1388): error 
C2088: '+': illegal for class 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1384): error 
C2789: 'writeValueFunc': an object of const-qualified type must be initialized 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1384): note: 
see declaration of 'writeValueFunc'
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1390): error 
C3536: 'writeValueFunc': cannot be used before it is initialized 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1390): error 
C2664: 'bool OpenFileGDB::WriteIndex<ValueOIDPair>(VSILFILE 
*,std::vector<ValueOIDPair,std::allocator<_Ty>> &,void (__cdecl 
*)(std::vector<GByte,std::allocator<unsigned char>> &,const int &,int),int 
&,int)': cannot convert argument 3 from 'int' to 'void (__cdecl 
*)(std::vector<GByte,std::allocator<_Ty>> &,const int &,int)' 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
          with
          [
              _Ty=ValueOIDPair
          ]
          and
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1390): note: 
Conversion from integral type to pointer type requires reinterpret_cast, 
C-style cast or function-style cast
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1412): error 
C2593: 'operator +' is ambiguous 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1412): note: 
could be 'built-in C++ operator+(void (__cdecl 
*)(std::vector<GByte,std::allocator<_Ty>> &,const float &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1412): note: 
or       'built-in C++ operator+(void (__stdcall 
*)(std::vector<GByte,std::allocator<_Ty>> &,const float &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1412): note: 
or       'built-in C++ operator+(void (__fastcall 
*)(std::vector<GByte,std::allocator<_Ty>> &,const float &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1412): note: 
or       'built-in C++ operator+(void (__vectorcall 
*)(std::vector<GByte,std::allocator<_Ty>> &,const float &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1412): note: 
while trying to match the argument list 
'(OpenFileGDB::FileGDBTable::CreateAttributeIndex::<lambda_d6d798253cfbdeb6d1ec1510fd54d8e5>)'
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1412): error 
C2088: '+': illegal for class 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1409): error 
C2789: 'writeValueFunc': an object of const-qualified type must be initialized 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1409): note: 
see declaration of 'writeValueFunc'
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1414): error 
C3536: 'writeValueFunc': cannot be used before it is initialized 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1414): error 
C2664: 'bool OpenFileGDB::WriteIndex<ValueOIDPair>(VSILFILE 
*,std::vector<ValueOIDPair,std::allocator<_Ty>> &,void (__cdecl 
*)(std::vector<GByte,std::allocator<unsigned char>> &,const float &,int),int 
&,int)': cannot convert argument 3 from 'int' to 'void (__cdecl 
*)(std::vector<GByte,std::allocator<_Ty>> &,const float &,int)' 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
          with
          [
              _Ty=ValueOIDPair
          ]
          and
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1414): note: 
Conversion from integral type to pointer type requires reinterpret_cast, 
C-style cast or function-style cast
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1439): error 
C2593: 'operator +' is ambiguous 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1439): note: 
could be 'built-in C++ operator+(void (__cdecl 
*)(std::vector<GByte,std::allocator<_Ty>> &,const double &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1439): note: 
or       'built-in C++ operator+(void (__stdcall 
*)(std::vector<GByte,std::allocator<_Ty>> &,const double &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1439): note: 
or       'built-in C++ operator+(void (__fastcall 
*)(std::vector<GByte,std::allocator<_Ty>> &,const double &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1439): note: 
or       'built-in C++ operator+(void (__vectorcall 
*)(std::vector<GByte,std::allocator<_Ty>> &,const double &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1439): note: 
while trying to match the argument list 
'(OpenFileGDB::FileGDBTable::CreateAttributeIndex::<lambda_ef45032c1b50ce8ace9943bec4f93e5b>)'
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1439): error 
C2088: '+': illegal for class 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1436): error 
C2789: 'writeValueFunc': an object of const-qualified type must be initialized 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1436): note: 
see declaration of 'writeValueFunc'
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1441): error 
C3536: 'writeValueFunc': cannot be used before it is initialized 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1441): error 
C2664: 'bool OpenFileGDB::WriteIndex<ValueOIDPair>(VSILFILE 
*,std::vector<ValueOIDPair,std::allocator<_Ty>> &,void (__cdecl 
*)(std::vector<GByte,std::allocator<unsigned char>> &,const double &,int),int 
&,int)': cannot convert argument 3 from 'int' to 'void (__cdecl 
*)(std::vector<GByte,std::allocator<_Ty>> &,const double &,int)' 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
          with
          [
              _Ty=ValueOIDPair
          ]
          and
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1441): note: 
Conversion from integral type to pointer type requires reinterpret_cast, 
C-style cast or function-style cast
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1503): error 
C2593: 'operator +' is ambiguous 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1503): note: 
could be 'built-in C++ operator+(void (__cdecl 
*)(std::vector<GByte,std::allocator<_Ty>> &,const 
std::vector<uint16_t,std::allocator<unsigned short>> &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1503): note: 
or       'built-in C++ operator+(void (__stdcall 
*)(std::vector<GByte,std::allocator<_Ty>> &,const 
std::vector<uint16_t,std::allocator<unsigned short>> &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1503): note: 
or       'built-in C++ operator+(void (__fastcall 
*)(std::vector<GByte,std::allocator<_Ty>> &,const 
std::vector<uint16_t,std::allocator<unsigned short>> &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1503): note: 
or       'built-in C++ operator+(void (__vectorcall 
*)(std::vector<GByte,std::allocator<_Ty>> &,const 
std::vector<uint16_t,std::allocator<unsigned short>> &,int))'
          with
          [
              _Ty=GByte
          ]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1503): note: 
while trying to match the argument list 
'(OpenFileGDB::FileGDBTable::CreateAttributeIndex::<lambda_102f9bf4de151179fe45fb40d3de5963>)'
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1503): error 
C2088: '+': illegal for class 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1493): error 
C2789: 'writeValueFunc': an object of const-qualified type must be initialized 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
  E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1493): note: 
see declaration of 'writeValueFunc'
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1507): error 
C3536: 'writeValueFunc': cannot be used before it is initialized 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
E:\gdal-3.8.4\ogr\ogrsf_frmts\openfilegdb\filegdbindex_write.cpp(1508): error 
C2664: 'bool OpenFileGDB::WriteIndex<ValueOIDPair>(VSILFILE 
*,std::vector<ValueOIDPair,std::allocator<_Ty>> &,void (__cdecl 
*)(std::vector<GByte,std::allocator<unsigned char>> &,const 
std::vector<uint16_t,std::allocator<unsigned short>> &,int),int &,int)': cannot 
convert argument 3 from 'int' to 'void (__cdecl 
*)(std::vector<GByte,std::allocator<_Ty>> &,const 
std::vector<uint16_t,std::allocator<unsigned short>> &,int)' 
[E:\gdal-3.8.4\build\ogr\ogrsf_frmts\openfilegdb\ogr_OpenFileGDB.vcxproj]
          with
          [
              _Ty=ValueOIDPair
          ]
          and
          [
              _Ty=GByte
          ]

Thanks!
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to