DanielChappuis / reactphysics3d

Open source C++ physics engine library in 3D

Home Page:http://www.reactphysics3d.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot build when including in another project on C++20 with CMake and GCC

tlegoc opened this issue · comments

I am using this for a small custom 3D engine of mine, and I tried adding it to my project with no success.
I get this error on both Arch (installed from pacman) and windows (using the CMake INSTALL target).

Here's my CMake file

cmake_minimum_required(VERSION 3.25)

set(EXE_NAME "Experiment01")

project("Experiment01" VERSION 0.0.1)

find_package(raylib 4.0 REQUIRED) # Requires at least version 3.0
find_package(fmt REQUIRED)
find_package(spdlog REQUIRED)
if(WIN32) 
  list(APPEND CMAKE_PREFIX_PATH "C:\\Program Files (x86)\\ReactPhysics3D") 
elseif(APPLE) 
  list(APPEND CMAKE_PREFIX_PATH "/usr/local/lib/cmake/ReactPhysics3D") 
endif()
find_package(ReactPhysics3D 0.9 REQUIRED)


set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 20)

add_executable(${EXE_NAME} main.cpp config.h)

target_link_libraries(${EXE_NAME} raylib m fmt::fmt spdlog::spdlog ReactPhysics3D::ReactPhysics3D)

set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)

# Checks if OSX and links appropriate frameworks (only required on MacOS)
if (APPLE)
    target_link_libraries(${EXE_NAME} "-framework IOKit")
    target_link_libraries(${EXE_NAME} "-framework Cocoa")
    target_link_libraries(${EXE_NAME} "-framework OpenGL")
endif()

add_subdirectory(src)

configure_file(${CMAKE_SOURCE_DIR}/config.ini ${EXECUTABLE_OUTPUT_PATH}/config.ini COPYONLY)

And after including reactphysics3d/reactphysics3d.h in my files and compiling, here's the error I get.

[main] Building folder: Experiment01 
[build] Starting build
[proc] Executing command: /usr/bin/cmake --build /home/theo/Documents/CPP/Experiment01/build --config Debug --target all --
[build] [2/3  33% :: 1.333] Building CXX object CMakeFiles/Experiment01.dir/src/Physics.cpp.o
[build] FAILED: CMakeFiles/Experiment01.dir/src/Physics.cpp.o 
[build] /usr/bin/g++ -DFMT_SHARED -DIS_RP3D_DOUBLE_PRECISION_ENABLED -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB  -g -std=gnu++20 -MD -MT CMakeFiles/Experiment01.dir/src/Physics.cpp.o -MF CMakeFiles/Experiment01.dir/src/Physics.cpp.o.d -o CMakeFiles/Experiment01.dir/src/Physics.cpp.o -c /home/theo/Documents/CPP/Experiment01/src/Physics.cpp
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:3,
[build]                  from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: error: expected ‘}’ before ‘{’ token
[build]    62 |             RED = 0xff0000,
[build]       |             ^~~
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53,
[build]                  from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31,
[build]                  from /usr/include/reactphysics3d/reactphysics3d.h:42,
[build]                  from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:60:39: note: to match this ‘{’
[build]    60 |                 enum class DebugColor {
[build]       |                                       ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: error: expected unqualified-id before ‘{’ token
[build]    62 |             RED = 0xff0000,
[build]       |             ^~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:17: error: expected unqualified-id before ‘=’ token
[build]    62 |             RED = 0xff0000,
[build]       |                 ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:63:19: error: expected unqualified-id before ‘=’ token
[build]    63 |             GREEN = 0x00ff00,
[build]       |                   ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:64:18: error: expected unqualified-id before ‘=’ token
[build]    64 |             BLUE = 0x0000ff,
[build]       |                  ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:65:19: error: expected unqualified-id before ‘=’ token
[build]    65 |             BLACK = 0x000000,
[build]       |                   ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:66:19: error: expected unqualified-id before ‘=’ token
[build]    66 |             WHITE = 0xffffff,
[build]       |                   ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:67:20: error: expected unqualified-id before ‘=’ token
[build]    67 |             YELLOW = 0xffff00,
[build]       |                    ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:68:21: error: expected unqualified-id before ‘=’ token
[build]    68 |             MAGENTA = 0xff00ff,
[build]       |                     ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:141:5: error: expected unqualified-id before ‘private’
[build]   141 |     private:
[build]       |     ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:160:34: error: ‘reactphysics3d::mAllocator’ declared as reference but not initialized
[build]   160 |                 MemoryAllocator& mAllocator;
[build]       |                                  ^~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:163:34: error: no matching function for call to ‘reactphysics3d::Array<reactphysics3d::DebugLine>::Array()’
[build]   163 |                 Array<DebugLine> mLines;
[build]       |                                  ^~~~~~
[build] In file included from /usr/include/reactphysics3d/mathematics/mathematics_functions.h:36,
[build]                  from /usr/include/reactphysics3d/mathematics/Vector2.h:31,
[build]                  from /usr/include/reactphysics3d/mathematics/Matrix2x2.h:31,
[build]                  from /usr/include/reactphysics3d/mathematics/mathematics.h:31,
[build]                  from /usr/include/reactphysics3d/reactphysics3d.h:39:
[build] /usr/include/reactphysics3d/containers/Array.h:227:9: note: candidate: ‘reactphysics3d::Array<T>::Array(const reactphysics3d::Array<T>&) [with T = reactphysics3d::DebugLine]’
[build]   227 |         Array(const Array<T>& array) : mBuffer(nullptr), mSize(0), mCapacity(0), mAllocator(array.mAllocator) {
[build]       |         ^~~~~
[build] /usr/include/reactphysics3d/containers/Array.h:227:9: note:   candidate expects 1 argument, 0 provided
[build] /usr/include/reactphysics3d/containers/Array.h:216:9: note: candidate: ‘reactphysics3d::Array<T>::Array(reactphysics3d::MemoryAllocator&, reactphysics3d::uint64) [with T = reactphysics3d::DebugLine; reactphysics3d::uint64 = long unsigned int]’
[build]   216 |         Array(MemoryAllocator& allocator, uint64 capacity = 0)
[build]       |         ^~~~~
[build] /usr/include/reactphysics3d/containers/Array.h:216:9: note:   candidate expects 2 arguments, 0 provided
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:166:38: error: no matching function for call to ‘reactphysics3d::Array<reactphysics3d::DebugTriangle>::Array()’
[build]   166 |                 Array<DebugTriangle> mTriangles;
[build]       |                                      ^~~~~~~~~~
[build] /usr/include/reactphysics3d/containers/Array.h:227:9: note: candidate: ‘reactphysics3d::Array<T>::Array(const reactphysics3d::Array<T>&) [with T = reactphysics3d::DebugTriangle]’
[build]   227 |         Array(const Array<T>& array) : mBuffer(nullptr), mSize(0), mCapacity(0), mAllocator(array.mAllocator) {
[build]       |         ^~~~~
[build] /usr/include/reactphysics3d/containers/Array.h:227:9: note:   candidate expects 1 argument, 0 provided
[build] /usr/include/reactphysics3d/containers/Array.h:216:9: note: candidate: ‘reactphysics3d::Array<T>::Array(reactphysics3d::MemoryAllocator&, reactphysics3d::uint64) [with T = reactphysics3d::DebugTriangle; reactphysics3d::uint64 = long unsigned int]’
[build]   216 |         Array(MemoryAllocator& allocator, uint64 capacity = 0)
[build]       |         ^~~~~
[build] /usr/include/reactphysics3d/containers/Array.h:216:9: note:   candidate expects 2 arguments, 0 provided
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:172:40: error: no matching function for call to ‘reactphysics3d::Map<reactphysics3d::DebugItem, unsigned int>::Map()’
[build]   172 |                 Map<DebugItem, uint32> mMapDebugItemWithColor;
[build]       |                                        ^~~~~~~~~~~~~~~~~~~~~~
[build] In file included from /usr/include/reactphysics3d/memory/HeapAllocator.h:34,
[build]                  from /usr/include/reactphysics3d/memory/MemoryManager.h:32,
[build]                  from /usr/include/reactphysics3d/engine/PhysicsCommon.h:30:
[build] /usr/include/reactphysics3d/containers/Map.h:219:9: note: candidate: ‘reactphysics3d::Map<K, V, Hash, KeyEqual>::Map(const reactphysics3d::Map<K, V>&) [with K = reactphysics3d::DebugItem; V = unsigned int; Hash = std::hash<reactphysics3d::DebugItem>; KeyEqual = std::equal_to<reactphysics3d::DebugItem>]’
[build]   219 |         Map(const Map<K, V>& map)
[build]       |         ^~~
[build] /usr/include/reactphysics3d/containers/Map.h:219:9: note:   candidate expects 1 argument, 0 provided
[build] /usr/include/reactphysics3d/containers/Map.h:208:9: note: candidate: ‘reactphysics3d::Map<K, V, Hash, KeyEqual>::Map(reactphysics3d::MemoryAllocator&, reactphysics3d::uint64) [with K = reactphysics3d::DebugItem; V = unsigned int; Hash = std::hash<reactphysics3d::DebugItem>; KeyEqual = std::equal_to<reactphysics3d::DebugItem>; reactphysics3d::uint64 = long unsigned int]’
[build]   208 |         Map(MemoryAllocator& allocator, uint64 capacity = 0)
[build]       |         ^~~
[build] /usr/include/reactphysics3d/containers/Map.h:208:9: note:   candidate expects 2 arguments, 0 provided
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:206:5: error: expected unqualified-id before ‘public’
[build]   206 |     public :
[build]       |     ^~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:214:25: error: expected constructor, destructor, or type conversion before ‘;’ token
[build]   214 |         ~DebugRenderer();
[build]       |                         ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:217:37: error: non-member function ‘reactphysics3d::uint32 reactphysics3d::getNbLines()’ cannot have cv-qualifier
[build]   217 |                 uint32 getNbLines() const;
[build]       |                                     ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:220:52: error: non-member function ‘const reactphysics3d::Array<reactphysics3d::DebugLine>& reactphysics3d::getLines()’ cannot have cv-qualifier
[build]   220 |                 const Array<DebugLine>& getLines() const;
[build]       |                                                    ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:223:50: error: non-member function ‘const reactphysics3d::DebugLine* reactphysics3d::getLinesArray()’ cannot have cv-qualifier
[build]   223 |                 const DebugLine* getLinesArray() const;
[build]       |                                                  ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:226:41: error: non-member function ‘reactphysics3d::uint32 reactphysics3d::getNbTriangles()’ cannot have cv-qualifier
[build]   226 |                 uint32 getNbTriangles() const;
[build]       |                                         ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:229:60: error: non-member function ‘const reactphysics3d::Array<reactphysics3d::DebugTriangle>& reactphysics3d::getTriangles()’ cannot have cv-qualifier
[build]   229 |                 const Array<DebugTriangle>& getTriangles() const;
[build]       |                                                            ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:232:58: error: non-member function ‘const reactphysics3d::DebugTriangle* reactphysics3d::getTrianglesArray()’ cannot have cv-qualifier
[build]   232 |                 const DebugTriangle* getTrianglesArray() const;
[build]       |                                                          ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:235:62: error: non-member function ‘bool reactphysics3d::getIsDebugItemDisplayed(DebugItem)’ cannot have cv-qualifier
[build]   235 |                 bool getIsDebugItemDisplayed(DebugItem item) const;
[build]       |                                                              ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:241:47: error: non-member function ‘reactphysics3d::decimal reactphysics3d::getContactPointSphereRadius()’ cannot have cv-qualifier
[build]   241 |         decimal getContactPointSphereRadius() const;
[build]       |                                               ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:247:42: error: non-member function ‘reactphysics3d::decimal reactphysics3d::getContactNormalLength()’ cannot have cv-qualifier
[build]   247 |         decimal getContactNormalLength() const;
[build]       |                                          ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:259:9: error: ‘virtual’ outside class declaration
[build]   259 |         virtual void onContact(const CollisionCallback::CallbackData& callbackData) override;
[build]       |         ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:259:85: error: virt-specifiers in ‘onContact’ not allowed outside a class definition
[build]   259 |         virtual void onContact(const CollisionCallback::CallbackData& callbackData) override;
[build]       |                                                                                     ^~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:266:19: error: ‘uint32’ does not name a type; did you mean ‘uint32_t’?
[build]   266 | RP3D_FORCE_INLINE uint32 DebugRenderer::getNbLines() const {
[build]       |                   ^~~~~~
[build]       |                   uint32_t
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:25: error: ‘Array’ does not name a type
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                         ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:282:25: error: ‘DebugRenderer’ does not name a type
[build]   282 | RP3D_FORCE_INLINE const DebugRenderer::DebugLine* DebugRenderer::getLinesArray() const {
[build]       |                         ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:290:19: error: ‘uint32’ does not name a type; did you mean ‘uint32_t’?
[build]   290 | RP3D_FORCE_INLINE uint32 DebugRenderer::getNbTriangles() const {
[build]       |                   ^~~~~~
[build]       |                   uint32_t
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:25: error: ‘Array’ does not name a type
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                         ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:306:25: error: ‘DebugRenderer’ does not name a type
[build]   306 | RP3D_FORCE_INLINE const DebugRenderer::DebugTriangle* DebugRenderer::getTrianglesArray() const {
[build]       |                         ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:315:24: error: ‘DebugRenderer’ has not been declared
[build]   315 | RP3D_FORCE_INLINE bool DebugRenderer::getIsDebugItemDisplayed(DebugItem item) const {
[build]       |                        ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:315:63: error: ‘DebugItem’ was not declared in this scope; did you mean ‘reactphysics3d::DebugItem’?
[build]   315 | RP3D_FORCE_INLINE bool DebugRenderer::getIsDebugItemDisplayed(DebugItem item) const {
[build]       |                                                               ^~~~~~~~~
[build]       |                                                               reactphysics3d::DebugItem
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:73:28: note: ‘reactphysics3d::DebugItem’ declared here
[build]    73 |                 enum class DebugItem {
[build]       |                            ^~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:324:24: error: ‘DebugRenderer’ has not been declared
[build]   324 | RP3D_FORCE_INLINE void DebugRenderer::setIsDebugItemDisplayed(DebugItem item, bool isDisplayed) {
[build]       |                        ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:324:24: error: variable or field ‘setIsDebugItemDisplayed’ declared void
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:324:63: error: ‘DebugItem’ was not declared in this scope; did you mean ‘reactphysics3d::DebugItem’?
[build]   324 | RP3D_FORCE_INLINE void DebugRenderer::setIsDebugItemDisplayed(DebugItem item, bool isDisplayed) {
[build]       |                                                               ^~~~~~~~~
[build]       |                                                               reactphysics3d::DebugItem
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:73:28: note: ‘reactphysics3d::DebugItem’ declared here
[build]    73 |                 enum class DebugItem {
[build]       |                            ^~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:324:79: error: expected primary-expression before ‘bool’
[build]   324 | RP3D_FORCE_INLINE void DebugRenderer::setIsDebugItemDisplayed(DebugItem item, bool isDisplayed) {
[build]       |                                                                               ^~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:337:19: error: ‘decimal’ does not name a type
[build]   337 | RP3D_FORCE_INLINE decimal DebugRenderer::getContactPointSphereRadius() const {
[build]       |                   ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:345:24: error: ‘DebugRenderer’ has not been declared
[build]   345 | RP3D_FORCE_INLINE void DebugRenderer::setContactPointSphereRadius(decimal radius) {
[build]       |                        ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:345:24: error: variable or field ‘setContactPointSphereRadius’ declared void
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:345:67: error: ‘decimal’ was not declared in this scope; did you mean ‘reactphysics3d::decimal’?
[build]   345 | RP3D_FORCE_INLINE void DebugRenderer::setContactPointSphereRadius(decimal radius) {
[build]       |                                                                   ^~~~~~~
[build]       |                                                                   reactphysics3d::decimal
[build] In file included from /usr/include/reactphysics3d/configuration.h:35,
[build]                  from /usr/include/reactphysics3d/reactphysics3d.h:38:
[build] /usr/include/reactphysics3d/decimal.h:33:11: note: ‘reactphysics3d::decimal’ declared here
[build]    33 |     using decimal = double;
[build]       |           ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:355:19: error: ‘decimal’ does not name a type
[build]   355 | RP3D_FORCE_INLINE decimal DebugRenderer::getContactNormalLength() const {
[build]       |                   ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:363:24: error: ‘DebugRenderer’ has not been declared
[build]   363 | RP3D_FORCE_INLINE void DebugRenderer::setContactNormalLength(decimal contactNormalLength) {
[build]       |                        ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:363:24: error: variable or field ‘setContactNormalLength’ declared void
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:363:62: error: ‘decimal’ was not declared in this scope; did you mean ‘reactphysics3d::decimal’?
[build]   363 | RP3D_FORCE_INLINE void DebugRenderer::setContactNormalLength(decimal contactNormalLength) {
[build]       |                                                              ^~~~~~~
[build]       |                                                              reactphysics3d::decimal
[build] /usr/include/reactphysics3d/decimal.h:33:11: note: ‘reactphysics3d::decimal’ declared here
[build]    33 |     using decimal = double;
[build]       |           ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:367:1: error: expected declaration before ‘}’ token
[build]   367 | }
[build]       | ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:372:58: error: ‘DebugItem’ is not a member of ‘reactphysics3d::DebugRenderer’
[build]   372 |   template <> struct hash<reactphysics3d::DebugRenderer::DebugItem> {
[build]       |                                                          ^~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:372:67: error: template argument 1 is invalid
[build]   372 |   template <> struct hash<reactphysics3d::DebugRenderer::DebugItem> {
[build]       |                                                                   ^
[build] [2/3  66% :: 1.534] Building CXX object CMakeFiles/Experiment01.dir/src/Game.cpp.o
[build] FAILED: CMakeFiles/Experiment01.dir/src/Game.cpp.o 
[build] /usr/bin/g++ -DFMT_SHARED -DIS_RP3D_DOUBLE_PRECISION_ENABLED -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB  -g -std=gnu++20 -MD -MT CMakeFiles/Experiment01.dir/src/Game.cpp.o -MF CMakeFiles/Experiment01.dir/src/Game.cpp.o.d -o CMakeFiles/Experiment01.dir/src/Game.cpp.o -c /home/theo/Documents/CPP/Experiment01/src/Game.cpp
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.h:3,
[build]                  from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:1:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: error: expected ‘}’ before ‘{’ token
[build]    62 |             RED = 0xff0000,
[build]       |             ^~~
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53,
[build]                  from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31,
[build]                  from /usr/include/reactphysics3d/reactphysics3d.h:42,
[build]                  from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4,
[build]                  from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:60:39: note: to match this ‘{’
[build]    60 |                 enum class DebugColor {
[build]       |                                       ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: error: expected unqualified-id before ‘{’ token
[build]    62 |             RED = 0xff0000,
[build]       |             ^~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:17: error: expected unqualified-id before ‘=’ token
[build]    62 |             RED = 0xff0000,
[build]       |                 ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:63:19: error: expected unqualified-id before ‘=’ token
[build]    63 |             GREEN = 0x00ff00,
[build]       |                   ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:64:18: error: expected unqualified-id before ‘=’ token
[build]    64 |             BLUE = 0x0000ff,
[build]       |                  ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:65:19: error: expected unqualified-id before ‘=’ token
[build]    65 |             BLACK = 0x000000,
[build]       |                   ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:66:19: error: expected unqualified-id before ‘=’ token
[build]    66 |             WHITE = 0xffffff,
[build]       |                   ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:67:20: error: expected unqualified-id before ‘=’ token
[build]    67 |             YELLOW = 0xffff00,
[build]       |                    ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:68:21: error: expected unqualified-id before ‘=’ token
[build]    68 |             MAGENTA = 0xff00ff,
[build]       |                     ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:141:5: error: expected unqualified-id before ‘private’
[build]   141 |     private:
[build]       |     ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:160:34: error: ‘reactphysics3d::mAllocator’ declared as reference but not initialized
[build]   160 |                 MemoryAllocator& mAllocator;
[build]       |                                  ^~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:163:34: error: no matching function for call to ‘reactphysics3d::Array<reactphysics3d::DebugLine>::Array()’
[build]   163 |                 Array<DebugLine> mLines;
[build]       |                                  ^~~~~~
[build] In file included from /usr/include/reactphysics3d/mathematics/mathematics_functions.h:36,
[build]                  from /usr/include/reactphysics3d/mathematics/Vector2.h:31,
[build]                  from /usr/include/reactphysics3d/mathematics/Matrix2x2.h:31,
[build]                  from /usr/include/reactphysics3d/mathematics/mathematics.h:31,
[build]                  from /usr/include/reactphysics3d/reactphysics3d.h:39:
[build] /usr/include/reactphysics3d/containers/Array.h:227:9: note: candidate: ‘reactphysics3d::Array<T>::Array(const reactphysics3d::Array<T>&) [with T = reactphysics3d::DebugLine]’
[build]   227 |         Array(const Array<T>& array) : mBuffer(nullptr), mSize(0), mCapacity(0), mAllocator(array.mAllocator) {
[build]       |         ^~~~~
[build] /usr/include/reactphysics3d/containers/Array.h:227:9: note:   candidate expects 1 argument, 0 provided
[build] /usr/include/reactphysics3d/containers/Array.h:216:9: note: candidate: ‘reactphysics3d::Array<T>::Array(reactphysics3d::MemoryAllocator&, reactphysics3d::uint64) [with T = reactphysics3d::DebugLine; reactphysics3d::uint64 = long unsigned int]’
[build]   216 |         Array(MemoryAllocator& allocator, uint64 capacity = 0)
[build]       |         ^~~~~
[build] /usr/include/reactphysics3d/containers/Array.h:216:9: note:   candidate expects 2 arguments, 0 provided
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:166:38: error: no matching function for call to ‘reactphysics3d::Array<reactphysics3d::DebugTriangle>::Array()’
[build]   166 |                 Array<DebugTriangle> mTriangles;
[build]       |                                      ^~~~~~~~~~
[build] /usr/include/reactphysics3d/containers/Array.h:227:9: note: candidate: ‘reactphysics3d::Array<T>::Array(const reactphysics3d::Array<T>&) [with T = reactphysics3d::DebugTriangle]’
[build]   227 |         Array(const Array<T>& array) : mBuffer(nullptr), mSize(0), mCapacity(0), mAllocator(array.mAllocator) {
[build]       |         ^~~~~
[build] /usr/include/reactphysics3d/containers/Array.h:227:9: note:   candidate expects 1 argument, 0 provided
[build] /usr/include/reactphysics3d/containers/Array.h:216:9: note: candidate: ‘reactphysics3d::Array<T>::Array(reactphysics3d::MemoryAllocator&, reactphysics3d::uint64) [with T = reactphysics3d::DebugTriangle; reactphysics3d::uint64 = long unsigned int]’
[build]   216 |         Array(MemoryAllocator& allocator, uint64 capacity = 0)
[build]       |         ^~~~~
[build] /usr/include/reactphysics3d/containers/Array.h:216:9: note:   candidate expects 2 arguments, 0 provided
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:172:40: error: no matching function for call to ‘reactphysics3d::Map<reactphysics3d::DebugItem, unsigned int>::Map()’
[build]   172 |                 Map<DebugItem, uint32> mMapDebugItemWithColor;
[build]       |                                        ^~~~~~~~~~~~~~~~~~~~~~
[build] In file included from /usr/include/reactphysics3d/memory/HeapAllocator.h:34,
[build]                  from /usr/include/reactphysics3d/memory/MemoryManager.h:32,
[build]                  from /usr/include/reactphysics3d/engine/PhysicsCommon.h:30:
[build] /usr/include/reactphysics3d/containers/Map.h:219:9: note: candidate: ‘reactphysics3d::Map<K, V, Hash, KeyEqual>::Map(const reactphysics3d::Map<K, V>&) [with K = reactphysics3d::DebugItem; V = unsigned int; Hash = std::hash<reactphysics3d::DebugItem>; KeyEqual = std::equal_to<reactphysics3d::DebugItem>]’
[build]   219 |         Map(const Map<K, V>& map)
[build]       |         ^~~
[build] /usr/include/reactphysics3d/containers/Map.h:219:9: note:   candidate expects 1 argument, 0 provided
[build] /usr/include/reactphysics3d/containers/Map.h:208:9: note: candidate: ‘reactphysics3d::Map<K, V, Hash, KeyEqual>::Map(reactphysics3d::MemoryAllocator&, reactphysics3d::uint64) [with K = reactphysics3d::DebugItem; V = unsigned int; Hash = std::hash<reactphysics3d::DebugItem>; KeyEqual = std::equal_to<reactphysics3d::DebugItem>; reactphysics3d::uint64 = long unsigned int]’
[build]   208 |         Map(MemoryAllocator& allocator, uint64 capacity = 0)
[build]       |         ^~~
[build] /usr/include/reactphysics3d/containers/Map.h:208:9: note:   candidate expects 2 arguments, 0 provided
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:206:5: error: expected unqualified-id before ‘public’
[build]   206 |     public :
[build]       |     ^~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:214:25: error: expected constructor, destructor, or type conversion before ‘;’ token
[build]   214 |         ~DebugRenderer();
[build]       |                         ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:217:37: error: non-member function ‘reactphysics3d::uint32 reactphysics3d::getNbLines()’ cannot have cv-qualifier
[build]   217 |                 uint32 getNbLines() const;
[build]       |                                     ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:220:52: error: non-member function ‘const reactphysics3d::Array<reactphysics3d::DebugLine>& reactphysics3d::getLines()’ cannot have cv-qualifier
[build]   220 |                 const Array<DebugLine>& getLines() const;
[build]       |                                                    ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:223:50: error: non-member function ‘const reactphysics3d::DebugLine* reactphysics3d::getLinesArray()’ cannot have cv-qualifier
[build]   223 |                 const DebugLine* getLinesArray() const;
[build]       |                                                  ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:226:41: error: non-member function ‘reactphysics3d::uint32 reactphysics3d::getNbTriangles()’ cannot have cv-qualifier
[build]   226 |                 uint32 getNbTriangles() const;
[build]       |                                         ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:229:60: error: non-member function ‘const reactphysics3d::Array<reactphysics3d::DebugTriangle>& reactphysics3d::getTriangles()’ cannot have cv-qualifier
[build]   229 |                 const Array<DebugTriangle>& getTriangles() const;
[build]       |                                                            ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:232:58: error: non-member function ‘const reactphysics3d::DebugTriangle* reactphysics3d::getTrianglesArray()’ cannot have cv-qualifier
[build]   232 |                 const DebugTriangle* getTrianglesArray() const;
[build]       |                                                          ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:235:62: error: non-member function ‘bool reactphysics3d::getIsDebugItemDisplayed(DebugItem)’ cannot have cv-qualifier
[build]   235 |                 bool getIsDebugItemDisplayed(DebugItem item) const;
[build]       |                                                              ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:241:47: error: non-member function ‘reactphysics3d::decimal reactphysics3d::getContactPointSphereRadius()’ cannot have cv-qualifier
[build]   241 |         decimal getContactPointSphereRadius() const;
[build]       |                                               ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:247:42: error: non-member function ‘reactphysics3d::decimal reactphysics3d::getContactNormalLength()’ cannot have cv-qualifier
[build]   247 |         decimal getContactNormalLength() const;
[build]       |                                          ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:259:9: error: ‘virtual’ outside class declaration
[build]   259 |         virtual void onContact(const CollisionCallback::CallbackData& callbackData) override;
[build]       |         ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:259:85: error: virt-specifiers in ‘onContact’ not allowed outside a class definition
[build]   259 |         virtual void onContact(const CollisionCallback::CallbackData& callbackData) override;
[build]       |                                                                                     ^~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:266:19: error: ‘uint32’ does not name a type; did you mean ‘uint32_t’?
[build]   266 | RP3D_FORCE_INLINE uint32 DebugRenderer::getNbLines() const {
[build]       |                   ^~~~~~
[build]       |                   uint32_t
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:274:25: error: ‘Array’ does not name a type
[build]   274 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugLine>& DebugRenderer::getLines() const {
[build]       |                         ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:282:25: error: ‘DebugRenderer’ does not name a type
[build]   282 | RP3D_FORCE_INLINE const DebugRenderer::DebugLine* DebugRenderer::getLinesArray() const {
[build]       |                         ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:290:19: error: ‘uint32’ does not name a type; did you mean ‘uint32_t’?
[build]   290 | RP3D_FORCE_INLINE uint32 DebugRenderer::getNbTriangles() const {
[build]       |                   ^~~~~~
[build]       |                   uint32_t
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:31: error: ‘DebugRenderer’ was not declared in this scope; did you mean ‘reactphysics3d::DebugRenderer’?
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                               ^~~~~~~~~~~~~
[build]       |                               reactphysics3d::DebugRenderer
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:55:7: note: ‘reactphysics3d::DebugRenderer’ declared here
[build]    55 | class DebugRenderer : public EventListener {
[build]       |       ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:298:25: error: ‘Array’ does not name a type
[build]   298 | RP3D_FORCE_INLINE const Array<DebugRenderer::DebugTriangle>& DebugRenderer::getTriangles() const {
[build]       |                         ^~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:306:25: error: ‘DebugRenderer’ does not name a type
[build]   306 | RP3D_FORCE_INLINE const DebugRenderer::DebugTriangle* DebugRenderer::getTrianglesArray() const {
[build]       |                         ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:315:24: error: ‘DebugRenderer’ has not been declared
[build]   315 | RP3D_FORCE_INLINE bool DebugRenderer::getIsDebugItemDisplayed(DebugItem item) const {
[build]       |                        ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:315:63: error: ‘DebugItem’ was not declared in this scope; did you mean ‘reactphysics3d::DebugItem’?
[build]   315 | RP3D_FORCE_INLINE bool DebugRenderer::getIsDebugItemDisplayed(DebugItem item) const {
[build]       |                                                               ^~~~~~~~~
[build]       |                                                               reactphysics3d::DebugItem
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:73:28: note: ‘reactphysics3d::DebugItem’ declared here
[build]    73 |                 enum class DebugItem {
[build]       |                            ^~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:324:24: error: ‘DebugRenderer’ has not been declared
[build]   324 | RP3D_FORCE_INLINE void DebugRenderer::setIsDebugItemDisplayed(DebugItem item, bool isDisplayed) {
[build]       |                        ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:324:24: error: variable or field ‘setIsDebugItemDisplayed’ declared void
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:324:63: error: ‘DebugItem’ was not declared in this scope; did you mean ‘reactphysics3d::DebugItem’?
[build]   324 | RP3D_FORCE_INLINE void DebugRenderer::setIsDebugItemDisplayed(DebugItem item, bool isDisplayed) {
[build]       |                                                               ^~~~~~~~~
[build]       |                                                               reactphysics3d::DebugItem
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:73:28: note: ‘reactphysics3d::DebugItem’ declared here
[build]    73 |                 enum class DebugItem {
[build]       |                            ^~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:324:79: error: expected primary-expression before ‘bool’
[build]   324 | RP3D_FORCE_INLINE void DebugRenderer::setIsDebugItemDisplayed(DebugItem item, bool isDisplayed) {
[build]       |                                                                               ^~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:337:19: error: ‘decimal’ does not name a type
[build]   337 | RP3D_FORCE_INLINE decimal DebugRenderer::getContactPointSphereRadius() const {
[build]       |                   ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:345:24: error: ‘DebugRenderer’ has not been declared
[build]   345 | RP3D_FORCE_INLINE void DebugRenderer::setContactPointSphereRadius(decimal radius) {
[build]       |                        ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:345:24: error: variable or field ‘setContactPointSphereRadius’ declared void
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:345:67: error: ‘decimal’ was not declared in this scope; did you mean ‘reactphysics3d::decimal’?
[build]   345 | RP3D_FORCE_INLINE void DebugRenderer::setContactPointSphereRadius(decimal radius) {
[build]       |                                                                   ^~~~~~~
[build]       |                                                                   reactphysics3d::decimal
[build] In file included from /usr/include/reactphysics3d/configuration.h:35,
[build]                  from /usr/include/reactphysics3d/reactphysics3d.h:38:
[build] /usr/include/reactphysics3d/decimal.h:33:11: note: ‘reactphysics3d::decimal’ declared here
[build]    33 |     using decimal = double;
[build]       |           ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:355:19: error: ‘decimal’ does not name a type
[build]   355 | RP3D_FORCE_INLINE decimal DebugRenderer::getContactNormalLength() const {
[build]       |                   ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:363:24: error: ‘DebugRenderer’ has not been declared
[build]   363 | RP3D_FORCE_INLINE void DebugRenderer::setContactNormalLength(decimal contactNormalLength) {
[build]       |                        ^~~~~~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:363:24: error: variable or field ‘setContactNormalLength’ declared void
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:363:62: error: ‘decimal’ was not declared in this scope; did you mean ‘reactphysics3d::decimal’?
[build]   363 | RP3D_FORCE_INLINE void DebugRenderer::setContactNormalLength(decimal contactNormalLength) {
[build]       |                                                              ^~~~~~~
[build]       |                                                              reactphysics3d::decimal
[build] /usr/include/reactphysics3d/decimal.h:33:11: note: ‘reactphysics3d::decimal’ declared here
[build]    33 |     using decimal = double;
[build]       |           ^~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:367:1: error: expected declaration before ‘}’ token
[build]   367 | }
[build]       | ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:372:58: error: ‘DebugItem’ is not a member of ‘reactphysics3d::DebugRenderer’
[build]   372 |   template <> struct hash<reactphysics3d::DebugRenderer::DebugItem> {
[build]       |                                                          ^~~~~~~~~
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:372:67: error: template argument 1 is invalid
[build]   372 |   template <> struct hash<reactphysics3d::DebugRenderer::DebugItem> {
[build]       |                                                                   ^
[build] ninja: build stopped: subcommand failed.
[proc] The command: /usr/bin/cmake --build /home/theo/Documents/CPP/Experiment01/build --config Debug --target all -- exited with code: 1 and signal: null
[build] Build finished with exit code 1

Any idea what the problem could be ?

Can you check if those errors are related to C++ 20? Currently, the library is supposed to be compiled with C++ 11.

Can you check if those errors are related to C++ 20? Currently, the library is supposed to be compiled with C++ 11.

I tried it on C++11, exact same error sadly.

Did you compile the master branch?

Did you compile the master branch?

On Linux I used the Arch package reactphysics3d so I can't tell, but on windows I did use the master branch to install it, and got the same error.

set(CMAKE_CXX_STANDARD 20)

To compile with C++11 only, you removed this line right?

What is the compiler output this time with C++11 only?

set(CMAKE_CXX_STANDARD 20)

To compile with C++11 only, you removed this line right?

What is the compiler output this time with C++11 only?

I used set(CMAKE_CXX_STANDARD 11) before with no success, and removing the line completely gives me the same result.

Tried compiling with Clang, the error looks the same.

[main] Configuring folder: Experiment01 
[proc] Executing command: /usr/bin/cmake --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/clang -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang++ -S/home/theo/Documents/CPP/Experiment01 -B/home/theo/Documents/CPP/Experiment01/build -G Ninja
[cmake] Not searching for unused variables given on the command line.
[cmake] -- The C compiler identification is Clang 14.0.6
[cmake] -- The CXX compiler identification is Clang 14.0.6
[cmake] -- Detecting C compiler ABI info
[cmake] -- Detecting C compiler ABI info - done
[cmake] -- Check for working C compiler: /usr/bin/clang - skipped
[cmake] -- Detecting C compile features
[cmake] -- Detecting C compile features - done
[cmake] -- Detecting CXX compiler ABI info
[cmake] -- Detecting CXX compiler ABI info - done
[cmake] -- Check for working CXX compiler: /usr/bin/clang++ - skipped
[cmake] -- Detecting CXX compile features
[cmake] -- Detecting CXX compile features - done
[cmake] -- Found raylib: /usr/lib/libraylib.so (Required is at least version "4.0") 
[cmake] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
[cmake] -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
[cmake] -- Found Threads: TRUE  
[cmake] -- Configuring done
[cmake] -- Generating done
[cmake] -- Build files have been written to: /home/theo/Documents/CPP/Experiment01/build
[build] Starting build
[proc] Executing command: /usr/bin/cmake --build /home/theo/Documents/CPP/Experiment01/build --config Debug --target all --
[build] [10/11   9% :: 0.099] Building CXX object CMakeFiles/Experiment01.dir/src/DynamicObject.cpp.o
[build] [10/11  18% :: 0.587] Building CXX object CMakeFiles/Experiment01.dir/src/objects/Cube.cpp.o
[build] [10/11  27% :: 0.599] Building CXX object CMakeFiles/Experiment01.dir/src/Object.cpp.o
[build] [10/11  36% :: 1.521] Building CXX object CMakeFiles/Experiment01.dir/src/GameCamera.cpp.o
[build] [10/11  45% :: 1.609] Building CXX object CMakeFiles/Experiment01.dir/src/Physics.cpp.o
[build] FAILED: CMakeFiles/Experiment01.dir/src/Physics.cpp.o 
[build] /usr/bin/clang++ -DFMT_SHARED -DIS_RP3D_DOUBLE_PRECISION_ENABLED -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB  -g -std=gnu++11 -MD -MT CMakeFiles/Experiment01.dir/src/Physics.cpp.o -MF CMakeFiles/Experiment01.dir/src/Physics.cpp.o.d -o CMakeFiles/Experiment01.dir/src/Physics.cpp.o -c /home/theo/Documents/CPP/Experiment01/src/Physics.cpp
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: error: expected '= constant-expression' or end of enumerator definition
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:35: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:63:13: error: redefinition of enumerator 'Color'
[build]             GREEN = 0x00ff00,
[build]             ^
[build] /usr/include/raylib.h:161:29: note: expanded from macro 'GREEN'
[build] #define GREEN      CLITERAL(Color){ 0, 228, 48, 255 }      // Green
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:63:13: error: expected '= constant-expression' or end of enumerator definition
[build]             GREEN = 0x00ff00,
[build]             ^
[build] /usr/include/raylib.h:161:35: note: expanded from macro 'GREEN'
[build] #define GREEN      CLITERAL(Color){ 0, 228, 48, 255 }      // Green
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:64:13: error: redefinition of enumerator 'Color'
[build]             BLUE = 0x0000ff,
[build]             ^
[build] /usr/include/raylib.h:165:29: note: expanded from macro 'BLUE'
[build] #define BLUE       CLITERAL(Color){ 0, 121, 241, 255 }     // Blue
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:64:13: error: expected '= constant-expression' or end of enumerator definition
[build]             BLUE = 0x0000ff,
[build]             ^
[build] /usr/include/raylib.h:165:35: note: expanded from macro 'BLUE'
[build] #define BLUE       CLITERAL(Color){ 0, 121, 241, 255 }     // Blue
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:65:13: error: redefinition of enumerator 'Color'
[build]             BLACK = 0x000000,
[build]             ^
[build] /usr/include/raylib.h:175:29: note: expanded from macro 'BLACK'
[build] #define BLACK      CLITERAL(Color){ 0, 0, 0, 255 }         // Black
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:65:13: error: expected '= constant-expression' or end of enumerator definition
[build]             BLACK = 0x000000,
[build]             ^
[build] /usr/include/raylib.h:175:35: note: expanded from macro 'BLACK'
[build] #define BLACK      CLITERAL(Color){ 0, 0, 0, 255 }         // Black
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:66:13: error: redefinition of enumerator 'Color'
[build]             WHITE = 0xffffff,
[build]             ^
[build] /usr/include/raylib.h:174:29: note: expanded from macro 'WHITE'
[build] #define WHITE      CLITERAL(Color){ 255, 255, 255, 255 }   // White
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:66:13: error: expected '= constant-expression' or end of enumerator definition
[build]             WHITE = 0xffffff,
[build]             ^
[build] /usr/include/raylib.h:174:35: note: expanded from macro 'WHITE'
[build] #define WHITE      CLITERAL(Color){ 255, 255, 255, 255 }   // White
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:67:13: error: redefinition of enumerator 'Color'
[build]             YELLOW = 0xffff00,
[build]             ^
[build] /usr/include/raylib.h:155:29: note: expanded from macro 'YELLOW'
[build] #define YELLOW     CLITERAL(Color){ 253, 249, 0, 255 }     // Yellow
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:67:13: error: expected '= constant-expression' or end of enumerator definition
[build]             YELLOW = 0xffff00,
[build]             ^
[build] /usr/include/raylib.h:155:35: note: expanded from macro 'YELLOW'
[build] #define YELLOW     CLITERAL(Color){ 253, 249, 0, 255 }     // Yellow
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:68:13: error: redefinition of enumerator 'Color'
[build]             MAGENTA = 0xff00ff,
[build]             ^
[build] /usr/include/raylib.h:177:29: note: expanded from macro 'MAGENTA'
[build] #define MAGENTA    CLITERAL(Color){ 255, 0, 255, 255 }     // Magenta
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.cpp:1:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:68:13: error: expected '= constant-expression' or end of enumerator definition
[build]             MAGENTA = 0xff00ff,
[build]             ^
[build] /usr/include/raylib.h:177:35: note: expanded from macro 'MAGENTA'
[build] #define MAGENTA    CLITERAL(Color){ 255, 0, 255, 255 }     // Magenta
[build]                                   ^
[build] 13 errors generated.
[build] [10/11  54% :: 1.623] Building CXX object CMakeFiles/Experiment01.dir/src/Player.cpp.o
[build] [10/11  63% :: 1.875] Building CXX object CMakeFiles/Experiment01.dir/src/Scene.cpp.o
[build] [10/11  72% :: 1.924] Building CXX object CMakeFiles/Experiment01.dir/src/Game.cpp.o
[build] FAILED: CMakeFiles/Experiment01.dir/src/Game.cpp.o 
[build] /usr/bin/clang++ -DFMT_SHARED -DIS_RP3D_DOUBLE_PRECISION_ENABLED -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DSPDLOG_SHARED_LIB  -g -std=gnu++11 -MD -MT CMakeFiles/Experiment01.dir/src/Game.cpp.o -MF CMakeFiles/Experiment01.dir/src/Game.cpp.o.d -o CMakeFiles/Experiment01.dir/src/Game.cpp.o -c /home/theo/Documents/CPP/Experiment01/src/Game.cpp
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: error: expected '= constant-expression' or end of enumerator definition
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:35: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:63:13: error: redefinition of enumerator 'Color'
[build]             GREEN = 0x00ff00,
[build]             ^
[build] /usr/include/raylib.h:161:29: note: expanded from macro 'GREEN'
[build] #define GREEN      CLITERAL(Color){ 0, 228, 48, 255 }      // Green
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:63:13: error: expected '= constant-expression' or end of enumerator definition
[build]             GREEN = 0x00ff00,
[build]             ^
[build] /usr/include/raylib.h:161:35: note: expanded from macro 'GREEN'
[build] #define GREEN      CLITERAL(Color){ 0, 228, 48, 255 }      // Green
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:64:13: error: redefinition of enumerator 'Color'
[build]             BLUE = 0x0000ff,
[build]             ^
[build] /usr/include/raylib.h:165:29: note: expanded from macro 'BLUE'
[build] #define BLUE       CLITERAL(Color){ 0, 121, 241, 255 }     // Blue
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:64:13: error: expected '= constant-expression' or end of enumerator definition
[build]             BLUE = 0x0000ff,
[build]             ^
[build] /usr/include/raylib.h:165:35: note: expanded from macro 'BLUE'
[build] #define BLUE       CLITERAL(Color){ 0, 121, 241, 255 }     // Blue
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:65:13: error: redefinition of enumerator 'Color'
[build]             BLACK = 0x000000,
[build]             ^
[build] /usr/include/raylib.h:175:29: note: expanded from macro 'BLACK'
[build] #define BLACK      CLITERAL(Color){ 0, 0, 0, 255 }         // Black
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:65:13: error: expected '= constant-expression' or end of enumerator definition
[build]             BLACK = 0x000000,
[build]             ^
[build] /usr/include/raylib.h:175:35: note: expanded from macro 'BLACK'
[build] #define BLACK      CLITERAL(Color){ 0, 0, 0, 255 }         // Black
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:66:13: error: redefinition of enumerator 'Color'
[build]             WHITE = 0xffffff,
[build]             ^
[build] /usr/include/raylib.h:174:29: note: expanded from macro 'WHITE'
[build] #define WHITE      CLITERAL(Color){ 255, 255, 255, 255 }   // White
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:66:13: error: expected '= constant-expression' or end of enumerator definition
[build]             WHITE = 0xffffff,
[build]             ^
[build] /usr/include/raylib.h:174:35: note: expanded from macro 'WHITE'
[build] #define WHITE      CLITERAL(Color){ 255, 255, 255, 255 }   // White
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:67:13: error: redefinition of enumerator 'Color'
[build]             YELLOW = 0xffff00,
[build]             ^
[build] /usr/include/raylib.h:155:29: note: expanded from macro 'YELLOW'
[build] #define YELLOW     CLITERAL(Color){ 253, 249, 0, 255 }     // Yellow
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:67:13: error: expected '= constant-expression' or end of enumerator definition
[build]             YELLOW = 0xffff00,
[build]             ^
[build] /usr/include/raylib.h:155:35: note: expanded from macro 'YELLOW'
[build] #define YELLOW     CLITERAL(Color){ 253, 249, 0, 255 }     // Yellow
[build]                                   ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:68:13: error: redefinition of enumerator 'Color'
[build]             MAGENTA = 0xff00ff,
[build]             ^
[build] /usr/include/raylib.h:177:29: note: expanded from macro 'MAGENTA'
[build] #define MAGENTA    CLITERAL(Color){ 255, 0, 255, 255 }     // Magenta
[build]                             ^
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:62:13: note: previous definition is here
[build]             RED = 0xff0000,
[build]             ^
[build] /usr/include/raylib.h:159:29: note: expanded from macro 'RED'
[build] #define RED        CLITERAL(Color){ 230, 41, 55, 255 }     // Red
[build]                             ^
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Game.cpp:5:
[build] In file included from /home/theo/Documents/CPP/Experiment01/src/Physics.h:4:
[build] In file included from /usr/include/reactphysics3d/reactphysics3d.h:42:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsCommon.h:31:
[build] In file included from /usr/include/reactphysics3d/engine/PhysicsWorld.h:53:
[build] /usr/include/reactphysics3d/utils/DebugRenderer.h:68:13: error: expected '= constant-expression' or end of enumerator definition
[build]             MAGENTA = 0xff00ff,
[build]             ^
[build] /usr/include/raylib.h:177:35: note: expanded from macro 'MAGENTA'
[build] #define MAGENTA    CLITERAL(Color){ 255, 0, 255, 255 }     // Magenta
[build]                                   ^
[build] 13 errors generated.
[build] [10/11  81% :: 1.952] Building CXX object CMakeFiles/Experiment01.dir/src/Settings.cpp.o
[build] [10/11  90% :: 2.087] Building CXX object CMakeFiles/Experiment01.dir/main.cpp.o
[build] ninja: build stopped: subcommand failed.
[proc] The command: /usr/bin/cmake --build /home/theo/Documents/CPP/Experiment01/build --config Debug --target all -- exited with code: 1 and signal: null
[build] Build finished with exit code 1```

Found the problem, I am using this library alongside raylib and it seems that the compiler is mixing raylib Color and rp3d color struct/enum. Creating a separate project without raylib works, but it breaks as soon as I include it.

This shouldn't happen as I am not using any namespace and there should be any ambiguity.

Closing this as it has nothing to do with the library itself, sorry for the inconvenience.

Ok I see. It's probably because the colors inside the raylib.h file in the raylib library are not defined inside a namespace (as in ReactPhysics3D) but in the global space and therefore will collide with any constants with the same name in your project or other libraries.

Ok I see. It's probably because the colors inside the raylib.h file in the raylib library are not defined inside a namespace (as in ReactPhysics3D) but in the global space and therefore will collide with any constants with the same name in your project or other libraries.

Definitely this, I'm trying to find a way to stop this behavior but using the c++ version doesn't help. I might end up doing a fork and just putting everything inside a namespace.