Attempting to fix some of the issues preventing compilation on Windows platforms, in order to then fix the vcpkg version to also support windows, and finally to fix a downstream consumer of s2geometry so it can use vcpkg for the dependency.
Changes
The using Base::Base technique to import the base class ctors doesn't appear to import the base class default ctor if it would otherwise be implicitly deleted (be the declaration of a non-default ctor in this case), at least on MSVC 2022. See https://godbolt.org/z/EPnsMEq8v Clang and GCC both seem to handle this OK.
uint isn't a primitive type or a guaranteed typedef in C++. While Clang and GCC both appear to thread it as unsigned int, MSVC treats it as un unknown symbol. Replacing it with uint32_t seems to do the trick.
Attempting to fix some of the issues preventing compilation on Windows platforms, in order to then fix the vcpkg version to also support windows, and finally to fix a downstream consumer of s2geometry so it can use vcpkg for the dependency.
Changes
The
using Base::Base
technique to import the base class ctors doesn't appear to import the base class default ctor if it would otherwise be implicitly deleted (be the declaration of a non-default ctor in this case), at least on MSVC 2022. See https://godbolt.org/z/EPnsMEq8v Clang and GCC both seem to handle this OK.uint
isn't a primitive type or a guaranteed typedef in C++. While Clang and GCC both appear to thread it asunsigned int
, MSVC treats it as un unknown symbol. Replacing it withuint32_t
seems to do the trick.