mobius3 / tweeny

A modern C++ tweening library
http://mobius3.github.io/tweeny
MIT License
742 stars 53 forks source link

Missing cstdint when compiling with gcc13 #36

Closed xfangfang closed 1 year ago

xfangfang commented 1 year ago

Thanks for such a great project.

A few days ago MSYS2's gcc upgrade to version 13. and my project failed in ci:

[ 37%] Building CXX object library/borealis/library/CMakeFiles/borealis.dir/lib/core/animation.cpp.obj
[668](https://github.com/xfangfang/wiliwili/actions/runs/4912551410/jobs/8788576312#step:5:669)
In file included from D:/a/wiliwili/wiliwili/library/borealis/library/lib/extern/tweeny/include/tween.h:38,
[669](https://github.com/xfangfang/wiliwili/actions/runs/4912551410/jobs/8788576312#step:5:670)
                 from D:/a/wiliwili/wiliwili/library/borealis/library/lib/extern/tweeny/include/tweeny.h:83,
[670](https://github.com/xfangfang/wiliwili/actions/runs/4912551410/jobs/8788576312#step:5:671)
                 from D:/a/wiliwili/wiliwili/library/borealis/library/include/borealis/core/animation.hpp:19,
[671](https://github.com/xfangfang/wiliwili/actions/runs/4912551410/jobs/8788576312#step:5:672)
                 from D:\a\wiliwili\wiliwili\library\borealis\library\lib\core\animation.cpp:17:
[672](https://github.com/xfangfang/wiliwili/actions/runs/4912551410/jobs/8788576312#step:5:673)
D:/a/wiliwili/wiliwili/library/borealis/library/lib/extern/tweeny/include/tweentraits.h:69:32: error: 'uint16_t' was not declared in this scope
69 |             typedef std::array<uint16_t, sizeof...(Ts)> durationsArrayType;
   |                                ^~~~~~~~
[675](https://github.com/xfangfang/wiliwili/actions/runs/4912551410/jobs/8788576312#step:5:676)
D:/a/wiliwili/wiliwili/library/borealis/library/lib/extern/tweeny/include/tweentraits.h:1:1: note: 'uint16_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?

It seems that we need to manually include cstdint in gcc13. Here is my small patch: https://github.com/xfangfang/tweeny/commit/5bcfb4d39887aeb40e2085dfeb99657913e8917a

Alternatively, users may need to manually include cstdint before using tween.h

Related issue: https://github.com/microsoft/vcpkg/issues/31270#issuecomment-1536429513