gwaldron / osgearth

3D Maps for OpenSceneGraph / C++14
https://www.pelicanmapping.com/home-1/opensource
Other
1.47k stars 772 forks source link

Error: invalid conversion from 'int' to 'std::ios_base& (*)(std::ios_base&)' and other building errors #2531

Closed ComradeMashkov closed 3 months ago

ComradeMashkov commented 3 months ago

osgEarth Version (required): master cdaabe2

Error: invalid conversion

Error log ``` C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp: In function 'bool osgEarth::Serializers::CompressedVec3Array::readData(osgDB::InputStream&, osgEarth::CompressedVec3Array&)': C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:51: error: no match for 'operator>>' (operand types are 'osgDB::InputStream' and 'int') 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~ ~~~~~~~~~~~~~~~~~ | | | | osgDB::InputStream int In file included from C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:6: C:/msys64/mingw64/include/osgDB/InputStream:104:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osgDB::ObjectProperty&)' (near match) 104 | InputStream& operator>>( ObjectProperty& prop ) { _in->readProperty(prop); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:104:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: invalid user-defined conversion from 'int' to 'osgDB::ObjectProperty&' [-fpermissive] 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ In file included from C:/msys64/mingw64/include/osgDB/StreamOperator:8, from C:/msys64/mingw64/include/osgDB/InputStream:35: C:/msys64/mingw64/include/osgDB/DataTypes:109:5: note: candidate is: 'osgDB::ObjectProperty::ObjectProperty(const char*, int, bool)' (near match) 109 | ObjectProperty( const char* name, int value=0, bool useMap=false ) | ^~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/DataTypes:109:5: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: invalid conversion from 'int' to 'const char*' [-fpermissive] 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ | | | int C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: invalid conversion from 'int' to 'const char*' [-fpermissive] 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ | | | int C:/msys64/mingw64/include/osgDB/DataTypes:109:33: note: initializing argument 1 of 'osgDB::ObjectProperty::ObjectProperty(const char*, int, bool)' 109 | ObjectProperty( const char* name, int value=0, bool useMap=false ) | ~~~~~~~~~~~~^~~~ C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: conversion to non-const reference type 'class osgDB::ObjectProperty&' from rvalue of type 'osgDB::ObjectProperty' [-fpermissive] 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:103:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osgDB::ObjectGLenum&)' (near match) 103 | InputStream& operator>>( ObjectGLenum& value ) { _in->readGLenum(value); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:103:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'osgDB::ObjectGLenum&' to an rvalue of type 'osgDB::ObjectGLenum' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/DataTypes:95:5: note: after user-defined conversion: 'osgDB::ObjectGLenum::ObjectGLenum(GLenum)' 95 | ObjectGLenum( GLenum value=0 ) : _value(value) {} | ^~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:98:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(double&)' (near match) 98 | InputStream& operator>>( double& d ) { _in->readDouble(d); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:98:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'double&' to a value of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:97:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(float&)' (near match) 97 | InputStream& operator>>( float& f ) { _in->readFloat(f); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:97:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'float&' to a value of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:96:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(long unsigned int&)' (near match) 96 | InputStream& operator>>( unsigned long& l ) { _in->readULong(l); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:96:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'long unsigned int&' to a value of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:95:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(long int&)' (near match) 95 | InputStream& operator>>( long& l ) { _in->readLong(l); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:95:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'long int&' to a value of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:94:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(unsigned int&)' (near match) 94 | InputStream& operator>>( unsigned int& i ) { _in->readUInt(i); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:94:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'unsigned int&' to a value of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:93:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(int&)' (near match) 93 | InputStream& operator>>( int& i ) { _in->readInt(i); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:93:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'int&' to an rvalue of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:92:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(short unsigned int&)' (near match) 92 | InputStream& operator>>( unsigned short& s ) { _in->readUShort(s); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:92:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'short unsigned int&' to a value of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:91:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(short int&)' (near match) 91 | InputStream& operator>>( short& s ) { _in->readShort(s); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:91:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'short int&' to a value of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:90:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(unsigned char&)' (near match) 90 | InputStream& operator>>( unsigned char& c ) { _in->readUChar(c); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:90:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'unsigned char&' to a value of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:89:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(signed char&)' (near match) 89 | InputStream& operator>>( signed char& c ) { _in->readSChar(c); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:89:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'signed char&' to a value of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:88:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(char&)' (near match) 88 | InputStream& operator>>( char& c ) { _in->readChar(c); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:88:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'char&' to a value of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:87:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(bool&)' (near match) 87 | InputStream& operator>>( bool& b ) { _in->readBool(b); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:87:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: cannot bind non-const lvalue reference of type 'bool&' to a value of type 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:142:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::ref_ptr&)' 142 | InputStream& operator>>( osg::ref_ptr& ptr ) { if (_fileVersion>=112) ptr = readObjectOfType(); else ptr = readPrimitiveSet(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:142:63: note: no known conversion for argument 1 from 'int' to 'osg::ref_ptr&' 142 | InputStream& operator>>( osg::ref_ptr& ptr ) { if (_fileVersion>=112) ptr = readObjectOfType(); else ptr = readPrimitiveSet(); return *this; } | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ C:/msys64/mingw64/include/osgDB/InputStream:141:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::ref_ptr&)' 141 | InputStream& operator>>( osg::ref_ptr& ptr ) { if (_fileVersion>=112) ptr = readObjectOfType(); else ptr = readArray(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:141:56: note: no known conversion for argument 1 from 'int' to 'osg::ref_ptr&' 141 | InputStream& operator>>( osg::ref_ptr& ptr ) { if (_fileVersion>=112) ptr = readObjectOfType(); else ptr = readArray(); return *this; } | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ C:/msys64/mingw64/include/osgDB/InputStream:140:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::ref_ptr&)' 140 | InputStream& operator>>( osg::ref_ptr& ptr ) { ptr = readImage(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:140:56: note: no known conversion for argument 1 from 'int' to 'osg::ref_ptr&' 140 | InputStream& operator>>( osg::ref_ptr& ptr ) { ptr = readImage(); return *this; } | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ C:/msys64/mingw64/include/osgDB/InputStream:138:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::BoundingSphered&)' 138 | InputStream& operator>>( osg::BoundingSphered& bs ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:138:52: note: no known conversion for argument 1 from 'int' to 'osg::BoundingSphered&' {aka 'osg::BoundingSphereImpl&'} 138 | InputStream& operator>>( osg::BoundingSphered& bs ); | ~~~~~~~~~~~~~~~~~~~~~~^~ C:/msys64/mingw64/include/osgDB/InputStream:137:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::BoundingSpheref&)' 137 | InputStream& operator>>( osg::BoundingSpheref& bs ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:137:52: note: no known conversion for argument 1 from 'int' to 'osg::BoundingSpheref&' {aka 'osg::BoundingSphereImpl&'} 137 | InputStream& operator>>( osg::BoundingSpheref& bs ); | ~~~~~~~~~~~~~~~~~~~~~~^~ C:/msys64/mingw64/include/osgDB/InputStream:136:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::BoundingBoxd&)' 136 | InputStream& operator>>( osg::BoundingBoxd& bb ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:136:49: note: no known conversion for argument 1 from 'int' to 'osg::BoundingBoxd&' {aka 'osg::BoundingBoxImpl&'} 136 | InputStream& operator>>( osg::BoundingBoxd& bb ); | ~~~~~~~~~~~~~~~~~~~^~ C:/msys64/mingw64/include/osgDB/InputStream:135:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::BoundingBoxf&)' 135 | InputStream& operator>>( osg::BoundingBoxf& bb ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:135:49: note: no known conversion for argument 1 from 'int' to 'osg::BoundingBoxf&' {aka 'osg::BoundingBoxImpl&'} 135 | InputStream& operator>>( osg::BoundingBoxf& bb ); | ~~~~~~~~~~~~~~~~~~~^~ C:/msys64/mingw64/include/osgDB/InputStream:134:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Matrixd&)' 134 | InputStream& operator>>( osg::Matrixd& mat ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:134:44: note: no known conversion for argument 1 from 'int' to 'osg::Matrixd&' 134 | InputStream& operator>>( osg::Matrixd& mat ); | ~~~~~~~~~~~~~~^~~ C:/msys64/mingw64/include/osgDB/InputStream:133:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Matrixf&)' 133 | InputStream& operator>>( osg::Matrixf& mat ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:133:44: note: no known conversion for argument 1 from 'int' to 'osg::Matrixf&' 133 | InputStream& operator>>( osg::Matrixf& mat ); | ~~~~~~~~~~~~~~^~~ C:/msys64/mingw64/include/osgDB/InputStream:132:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Plane&)' 132 | InputStream& operator>>( osg::Plane& p ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:132:42: note: no known conversion for argument 1 from 'int' to 'osg::Plane&' 132 | InputStream& operator>>( osg::Plane& p ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:131:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Quat&)' 131 | InputStream& operator>>( osg::Quat& q ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:131:41: note: no known conversion for argument 1 from 'int' to 'osg::Quat&' 131 | InputStream& operator>>( osg::Quat& q ); | ~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:130:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec4d&)' 130 | InputStream& operator>>( osg::Vec4d& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:130:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec4d&' 130 | InputStream& operator>>( osg::Vec4d& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:129:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec3d&)' 129 | InputStream& operator>>( osg::Vec3d& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:129:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec3d&' 129 | InputStream& operator>>( osg::Vec3d& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:128:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec2d&)' 128 | InputStream& operator>>( osg::Vec2d& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:128:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec2d&' 128 | InputStream& operator>>( osg::Vec2d& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:127:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec4f&)' 127 | InputStream& operator>>( osg::Vec4f& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:127:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec4f&' 127 | InputStream& operator>>( osg::Vec4f& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:126:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec3f&)' 126 | InputStream& operator>>( osg::Vec3f& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:126:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec3f&' 126 | InputStream& operator>>( osg::Vec3f& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:125:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec2f&)' 125 | InputStream& operator>>( osg::Vec2f& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:125:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec2f&' 125 | InputStream& operator>>( osg::Vec2f& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:124:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec4ui&)' 124 | InputStream& operator>>( osg::Vec4ui& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:124:43: note: no known conversion for argument 1 from 'int' to 'osg::Vec4ui&' 124 | InputStream& operator>>( osg::Vec4ui& v ); | ~~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:123:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec3ui&)' 123 | InputStream& operator>>( osg::Vec3ui& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:123:43: note: no known conversion for argument 1 from 'int' to 'osg::Vec3ui&' 123 | InputStream& operator>>( osg::Vec3ui& v ); | ~~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:122:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec2ui&)' 122 | InputStream& operator>>( osg::Vec2ui& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:122:43: note: no known conversion for argument 1 from 'int' to 'osg::Vec2ui&' 122 | InputStream& operator>>( osg::Vec2ui& v ); | ~~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:121:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec4i&)' 121 | InputStream& operator>>( osg::Vec4i& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:121:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec4i&' 121 | InputStream& operator>>( osg::Vec4i& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:120:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec3i&)' 120 | InputStream& operator>>( osg::Vec3i& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:120:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec3i&' 120 | InputStream& operator>>( osg::Vec3i& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:119:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec2i&)' 119 | InputStream& operator>>( osg::Vec2i& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:119:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec2i&' 119 | InputStream& operator>>( osg::Vec2i& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:118:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec4us&)' 118 | InputStream& operator>>( osg::Vec4us& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:118:43: note: no known conversion for argument 1 from 'int' to 'osg::Vec4us&' 118 | InputStream& operator>>( osg::Vec4us& v ); | ~~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:117:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec3us&)' 117 | InputStream& operator>>( osg::Vec3us& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:117:43: note: no known conversion for argument 1 from 'int' to 'osg::Vec3us&' 117 | InputStream& operator>>( osg::Vec3us& v ); | ~~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:116:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec2us&)' 116 | InputStream& operator>>( osg::Vec2us& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:116:43: note: no known conversion for argument 1 from 'int' to 'osg::Vec2us&' 116 | InputStream& operator>>( osg::Vec2us& v ); | ~~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:115:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec4s&)' 115 | InputStream& operator>>( osg::Vec4s& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:115:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec4s&' 115 | InputStream& operator>>( osg::Vec4s& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:114:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec3s&)' 114 | InputStream& operator>>( osg::Vec3s& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:114:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec3s&' 114 | InputStream& operator>>( osg::Vec3s& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:113:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec2s&)' 113 | InputStream& operator>>( osg::Vec2s& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:113:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec2s&' 113 | InputStream& operator>>( osg::Vec2s& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:112:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec4ub&)' 112 | InputStream& operator>>( osg::Vec4ub& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:112:43: note: no known conversion for argument 1 from 'int' to 'osg::Vec4ub&' 112 | InputStream& operator>>( osg::Vec4ub& v ); | ~~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:111:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec3ub&)' 111 | InputStream& operator>>( osg::Vec3ub& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:111:43: note: no known conversion for argument 1 from 'int' to 'osg::Vec3ub&' 111 | InputStream& operator>>( osg::Vec3ub& v ); | ~~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:110:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec2ub&)' 110 | InputStream& operator>>( osg::Vec2ub& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:110:43: note: no known conversion for argument 1 from 'int' to 'osg::Vec2ub&' 110 | InputStream& operator>>( osg::Vec2ub& v ); | ~~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:109:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec4b&)' 109 | InputStream& operator>>( osg::Vec4b& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:109:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec4b&' 109 | InputStream& operator>>( osg::Vec4b& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:108:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec3b&)' 108 | InputStream& operator>>( osg::Vec3b& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:108:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec3b&' 108 | InputStream& operator>>( osg::Vec3b& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:107:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osg::Vec2b&)' 107 | InputStream& operator>>( osg::Vec2b& v ); | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:107:42: note: no known conversion for argument 1 from 'int' to 'osg::Vec2b&' 107 | InputStream& operator>>( osg::Vec2b& v ); | ~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:105:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(osgDB::ObjectMark&)' 105 | InputStream& operator>>( ObjectMark& mark ) { _in->readMark(mark); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:105:42: note: no known conversion for argument 1 from 'int' to 'osgDB::ObjectMark&' 105 | InputStream& operator>>( ObjectMark& mark ) { _in->readMark(mark); checkStream(); return *this; } | ~~~~~~~~~~~~^~~~ C:/msys64/mingw64/include/osgDB/InputStream:99:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(std::string&)' 99 | InputStream& operator>>( std::string& s ) { _in->readString(s); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:99:43: note: no known conversion for argument 1 from 'int' to 'std::string&' {aka 'std::__cxx11::basic_string&'} 99 | InputStream& operator>>( std::string& s ) { _in->readString(s); checkStream(); return *this; } | ~~~~~~~~~~~~~^ C:/msys64/mingw64/include/osgDB/InputStream:144:39: note: candidate: 'template osgDB::InputStream& osgDB::InputStream::operator>>(osg::ref_ptr&)' 144 | template InputStream& operator>>( osg::ref_ptr& ptr ) | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:144:39: note: template argument deduction/substitution failed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:59: note: mismatched types 'osg::ref_ptr' and 'int' 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:100:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(std::istream& (*)(std::istream&))' (near match) 100 | InputStream& operator>>( std::istream& (*fn)(std::istream&) ) { _in->readStream(fn); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:100:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: invalid conversion from 'int' to 'std::istream& (*)(std::istream&)' {aka 'std::basic_istream& (*)(std::basic_istream&)'} [-fpermissive] 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ | | | int C:/msys64/mingw64/include/osgDB/InputStream:101:18: note: candidate: 'osgDB::InputStream& osgDB::InputStream::operator>>(std::ios_base& (*)(std::ios_base&))' (near match) 101 | InputStream& operator>>( std::ios_base& (*fn)(std::ios_base&) ) { _in->readBase(fn); checkStream(); return *this; } | ^~~~~~~~ C:/msys64/mingw64/include/osgDB/InputStream:101:18: note: conversion of argument 1 would be ill-formed: C:\Users\ilya.mashkov\Desktop\gui_cpp\osgearth\src\osgEarth\CompressedArray.cpp:135:54: error: invalid conversion from 'int' to 'std::ios_base& (*)(std::ios_base&)' [-fpermissive] 135 | is >> is.PROPERTY("Quantization") >> (int)quantization; | ^~~~~~~~~~~~~~~~~ | | | int ```

I don't know am I building osgEarth right way but now I have this error. Is it problem in my compiler or build toolchain? I guess GCC consider this conversion invalid. Btw, are there any guides for building osgEarth from source with MinGW?

Build toolchain: mingw64 (MinGW Makefiles)

gwaldron commented 3 months ago

I suspect this is a copy-and-paste error. Try removing the (int) cast and see if it builds OK. Please report back :)

ComradeMashkov commented 3 months ago

Yes, I already did this trick and removed (int) cast. However, now I'm getting endless lines of linking errors like these:

I suspect this is a copy-and-paste error. Try removing the (int) cast and see if it builds OK. Please report back :)

``` C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\osgEarth.dir/objects.a(glyphs.pb.cc.obj):glyphs.pb.cc:(.text$_ZNK6google8protobuf8internal20RepeatedPtrFieldBase3GetINS0_16RepeatedPtrFieldIN8mapboxgl6glyphs9fontstackEE11TypeHandlerEEERKNT_4TypeEi[_ZNK6google8protobuf8internal20RepeatedPtrFieldBase3GetINS0_16RepeatedPtrFieldIN8mapboxgl6glyphs9fontstackEE11TypeHandlerEEERKNT_4TypeEi]+0x121): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, std::basic_string_view >)' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: CMakeFiles\osgEarth.dir/objects.a(glyphs.pb.cc.obj):glyphs.pb.cc:(.text$_ZNK6google8protobuf8internal20RepeatedPtrFieldBase3GetINS0_16RepeatedPtrFieldIN8mapboxgl6glyphs9fontstackEE11TypeHandlerEEERKNT_4TypeEi[_ZNK6google8protobuf8internal20RepeatedPtrFieldBase3GetINS0_16RepeatedPtrFieldIN8mapboxgl6glyphs9fontstackEE11TypeHandlerEEERKNT_4TypeEi]+0x148): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::~LogMessageFatal()' collect2.exe: error: ld returned 1 exit status ```

Can this be fixed by any chance?

gwaldron commented 3 months ago

Duplicate of #2518