A

🧩 Syntax:
user@debian:~/engine-sim/build$ ninja -j1
[1/129] Building CXX object dependencies/submodules/simple-2d-constraint-solver/CMakeFiles/simple-2d-constraint-solver.dir/src/sparse_matrix.cpp.o
FAILED: dependencies/submodules/simple-2d-constraint-solver/CMakeFiles/simple-2d-constraint-solver.dir/src/sparse_matrix.cpp.o
/usr/bin/clang++ -DATG_ENGINE_SIM_DISCORD_ENABLED -DATG_ENGINE_SIM_PIRANHA_ENABLED  -D__forceinline=inline -std=gnu++11 -MD -MT dependencies/submodules/simple-2d-constraint-solver/CMakeFiles/simple-2d-constraint-solver.dir/src/sparse_matrix.cpp.o -MF dependencies/submodules/simple-2d-constraint-solver/CMakeFiles/simple-2d-constraint-solver.dir/src/sparse_matrix.cpp.o.d -o dependencies/submodules/simple-2d-constraint-solver/CMakeFiles/simple-2d-constraint-solver.dir/src/sparse_matrix.cpp.o -c /home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/sparse_matrix.cpp
In file included from /home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/sparse_matrix.cpp:1:
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:72:23: error: member access into incomplete type 'Matrix'
                matrix->initialize(m_width, m_height);
                      ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:80:39: error: member access into incomplete type 'Matrix'
                                matrix->set(block * T_Stride + k, i, m_matrix[i][j * T_Stride + k]);
                                      ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:88:23: error: member access into incomplete type 'Matrix'
                matrix->initialize(m_height, m_width);
                      ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:96:39: error: member access into incomplete type 'Matrix'
                                matrix->set(i, block * T_Stride + k, m_matrix[i][j * T_Stride + k]);
                                      ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:140:23: error: member access into incomplete type 'Matrix'
                target->initialize(b_T.m_height, m_height);
                      ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:161:31: error: member access into incomplete type 'Matrix'
                        target->set(j, i, dot);
                              ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:167:34: error: member access into incomplete type 'Matrix'
                const int b_w = b.getWidth();
                                 ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:168:34: error: member access into incomplete type 'Matrix'
                const int b_h = b.getHeight();
                                 ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:173:23: error: member access into incomplete type 'Matrix'
                target->initialize(1, m_width);
                      ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:184:35: error: member access into incomplete type 'Matrix'
                            target->add(0, j, m_matrix[i][offset + l] * b.get(0, i));
                                  ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:184:74: error: member access into incomplete type 'Matrix'
                            target->add(0, j, m_matrix[i][offset + l] * b.get(0, i));
                                                                         ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:191:34: error: member access into incomplete type 'Matrix'
                const int b_w = b.getWidth();
                                 ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:192:34: error: member access into incomplete type 'Matrix'
                const int b_h = b.getHeight();
                                 ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:196:23: error: member access into incomplete type 'Matrix'
                target->initialize(b.getWidth(), m_height);
                      ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:196:37: error: member access into incomplete type 'Matrix'
                target->initialize(b.getWidth(), m_height);
                                    ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:207:65: error: member access into incomplete type 'Matrix'
                                v += m_matrix[i][offset + l] * b.get(j, block * T_Stride + l);
                                                                ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:211:31: error: member access into incomplete type 'Matrix'
                        target->set(j, i, v);
                              ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:217:29: error: member access into incomplete type 'Matrix'
                assert(scale.getWidth() == 1);
                            ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:218:29: error: member access into incomplete type 'Matrix'
                assert(scale.getHeight() == m_width);
                            ^
/home/user/engine-sim/dependencies/submodules/simple-2d-constraint-solver/src/../include/sparse_matrix.h:9:11: note: forward declaration of 'atg_scs::Matrix'
    class Matrix;
          ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
ninja: build stopped: subcommand failed.