You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The project fails to build for me on Ubuntu 23.10 using GCC 13.2.0 and CMake 3.27.4.
I'm doing a basic git check out, cmake, then make flow.
Sample error message:
/{redacted}/reactphysics3d/include/reactphysics3d/configuration.h:69:19: error: ‘int8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
When attempting to build it outputs hundreds/thousands of errors related to this.
The Cause/Fix
The root problem seems to be because configuration.h references various standard library type definitions (std::int8_t, std::uint8_t, etc.,) but doesn't include the header they're defined in.
I tested locally modifying the header to include cstdint with the other system headers and all errors went away and the project built successfully without issue.
I should probably also note that I'm building with cxx_std_23 compiler feature enabled.
The build failure is likely a combination of compiler + c++ version, where the latest c++ standard/compiler no longer erroneously exposes the type definitions from other system headers and now cstdint is required to be included.
Thanks for reporting this issue. This has been fixed and merged into the 'develop' branch in the this pull request. This fix will be available in the next release of the library.
Hi,
The Problem
The project fails to build for me on Ubuntu 23.10 using GCC 13.2.0 and CMake 3.27.4.
I'm doing a basic git check out, cmake, then make flow.
Sample error message:
/{redacted}/reactphysics3d/include/reactphysics3d/configuration.h:69:19: error: ‘int8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
When attempting to build it outputs hundreds/thousands of errors related to this.
The Cause/Fix
The root problem seems to be because configuration.h references various standard library type definitions (std::int8_t, std::uint8_t, etc.,) but doesn't include the header they're defined in.
All of those type definitions are defined in cstdint, and so configuration.h should be modified to include this header (https://en.cppreference.com/w/cpp/header/cstdint)
I tested locally modifying the header to include cstdint with the other system headers and all errors went away and the project built successfully without issue.
Here are the problematic lines:
reactphysics3d/include/reactphysics3d/configuration.h
Lines 68 to 75 in 17dd22e
Thanks!
The text was updated successfully, but these errors were encountered: