Open jonathantompson opened 9 years ago
I get failures when linking smoke executable. Sorry for the large dump, but here is the compiler output:
[100%] [100%] [100%] Building CXX object Projects/CMakeFiles/smoke.dir/user_projects/Smoke/SMOKE_DRIVER.cpp.o Building CXX object Projects/CMakeFiles/smoke.dir/user_projects/Smoke/SMOKE_EXAMPLE.cpp.o Building CXX object Projects/CMakeFiles/smoke.dir/user_projects/Smoke/main.cpp.o Linking CXX executable smoke ../PhysBAM_Tools/libPhysBAM_Tools.a(LAPLACE_UNIFORM.cpp.o): In function `PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 1> > >::Find_A(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> >&)': LAPLACE_UNIFORM.cpp:(.text._ZN7PhysBAM15LAPLACE_UNIFORMINS_4GRIDINS_6VECTORIfLi1EEEEEE6Find_AERNS_5RANGEINS2_IiLi1EEEEERNS_5ARRAYINS_22SPARSE_MATRIX_FLAT_NXNIfEEiEERNSA_INS_9VECTOR_NDIfEEiEERKNSA_IiS7_EERSJ_[PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 1> > >::Find_A(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> >&)]+0x1d4): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Set_Row_Lengths(PhysBAM::ARRAY<int, int> const&)' ../PhysBAM_Tools/libPhysBAM_Tools.a(LAPLACE_UNIFORM.cpp.o): In function `PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 1> > >::Solve_Subregion(PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR<int, 1>, int>&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, int, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> >*)': LAPLACE_UNIFORM.cpp:(.text._ZN7PhysBAM15LAPLACE_UNIFORMINS_4GRIDINS_6VECTORIfLi1EEEEEE15Solve_SubregionERNS_5ARRAYINS_8INTERVALIiEEiEERNS6_IS9_iEERNS6_INS2_IiLi1EEEiEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEEiPNS6_IiSD_EE[PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 1> > >::Solve_Subregion(PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR<int, 1>, int>&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, int, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> >*)]+0x50): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Negate()' ../PhysBAM_Tools/libPhysBAM_Tools.a(LAPLACE_UNIFORM.cpp.o): In function `PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 2> > >::Find_A(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> >&)': LAPLACE_UNIFORM.cpp:(.text._ZN7PhysBAM15LAPLACE_UNIFORMINS_4GRIDINS_6VECTORIfLi2EEEEEE6Find_AERNS_5RANGEINS2_IiLi2EEEEERNS_5ARRAYINS_22SPARSE_MATRIX_FLAT_NXNIfEEiEERNSA_INS_9VECTOR_NDIfEEiEERKNSA_IiNS2_IiLi1EEEEERNSA_IiS7_EE[PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 2> > >::Find_A(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> >&)]+0x1da): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Set_Row_Lengths(PhysBAM::ARRAY<int, int> const&)' ../PhysBAM_Tools/libPhysBAM_Tools.a(LAPLACE_UNIFORM.cpp.o): In function `PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 2> > >::Solve_Subregion(PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR<int, 2>, int>&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, int, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> >*)': LAPLACE_UNIFORM.cpp:(.text._ZN7PhysBAM15LAPLACE_UNIFORMINS_4GRIDINS_6VECTORIfLi2EEEEEE15Solve_SubregionERNS_5ARRAYINS_8INTERVALIiEEiEERNS6_IS9_iEERNS6_INS2_IiLi2EEEiEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEEiPNS6_IiSD_EE[PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 2> > >::Solve_Subregion(PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR<int, 2>, int>&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, int, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> >*)]+0x50): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Negate()' ../PhysBAM_Tools/libPhysBAM_Tools.a(LAPLACE_UNIFORM.cpp.o): In function `PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 3> > >::Find_A(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> >&)': LAPLACE_UNIFORM.cpp:(.text._ZN7PhysBAM15LAPLACE_UNIFORMINS_4GRIDINS_6VECTORIfLi3EEEEEE6Find_AERNS_5RANGEINS2_IiLi3EEEEERNS_5ARRAYINS_22SPARSE_MATRIX_FLAT_NXNIfEEiEERNSA_INS_9VECTOR_NDIfEEiEERKNSA_IiNS2_IiLi1EEEEERNSA_IiS7_EE[PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 3> > >::Find_A(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> >&)]+0x1da): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Set_Row_Lengths(PhysBAM::ARRAY<int, int> const&)' ../PhysBAM_Tools/libPhysBAM_Tools.a(LAPLACE_UNIFORM.cpp.o): In function `PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 3> > >::Solve_Subregion(PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR<int, 3>, int>&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, int, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> >*)': LAPLACE_UNIFORM.cpp:(.text._ZN7PhysBAM15LAPLACE_UNIFORMINS_4GRIDINS_6VECTORIfLi3EEEEEE15Solve_SubregionERNS_5ARRAYINS_8INTERVALIiEEiEERNS6_IS9_iEERNS6_INS2_IiLi3EEEiEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEEiPNS6_IiSD_EE[PhysBAM::LAPLACE_UNIFORM<PhysBAM::GRID<PhysBAM::VECTOR<float, 3> > >::Solve_Subregion(PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR<int, 3>, int>&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, int, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> >*)]+0x50): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Negate()' ../PhysBAM_Tools/libPhysBAM_Tools.a(LAPLACE_UNIFORM.cpp.o): In function `PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>, int>::ARRAY(int, bool)': LAPLACE_UNIFORM.cpp:(.text._ZN7PhysBAM5ARRAYINS_22SPARSE_MATRIX_FLAT_NXNIfEEiEC2Eib[_ZN7PhysBAM5ARRAYINS_22SPARSE_MATRIX_FLAT_NXNIfEEiEC5Eib]+0xd8): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::SPARSE_MATRIX_FLAT_NXN()' LAPLACE_UNIFORM.cpp:(.text._ZN7PhysBAM5ARRAYINS_22SPARSE_MATRIX_FLAT_NXNIfEEiEC2Eib[_ZN7PhysBAM5ARRAYINS_22SPARSE_MATRIX_FLAT_NXNIfEEiEC5Eib]+0x141): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::~SPARSE_MATRIX_FLAT_NXN()' ../PhysBAM_Tools/libPhysBAM_Tools.a(LAPLACE_UNIFORM.cpp.o): In function `PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>, int>::~ARRAY()': LAPLACE_UNIFORM.cpp:(.text._ZN7PhysBAM5ARRAYINS_22SPARSE_MATRIX_FLAT_NXNIfEEiED2Ev[_ZN7PhysBAM5ARRAYINS_22SPARSE_MATRIX_FLAT_NXNIfEEiED5Ev]+0x54): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::~SPARSE_MATRIX_FLAT_NXN()' ../PhysBAM_Tools/libPhysBAM_Tools.a(LAPLACE_UNIFORM.cpp.o): In function `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Set_Element(int, int, float)': LAPLACE_UNIFORM.cpp:(.text._ZN7PhysBAM22SPARSE_MATRIX_FLAT_NXNIfE11Set_ElementEiif[PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Set_Element(int, int, float)]+0x27): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::operator()(int, int)' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE.cpp.o): In function `PhysBAM::PCG_SPARSE<float>::Solve(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float, bool)': PCG_SPARSE.cpp:(.text._ZN7PhysBAM10PCG_SPARSEIfE5SolveERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES7_S7_S7_S7_S7_S7_fb[PhysBAM::PCG_SPARSE<float>::Solve(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float, bool)]+0x1f2): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Construct_Incomplete_Cholesky_Factorization(bool, float, float, float)' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE.cpp.o): In function `PhysBAM::PCG_SPARSE_SYSTEM<float>::Multiply(PhysBAM::KRYLOV_VECTOR_BASE<float> const&, PhysBAM::KRYLOV_VECTOR_BASE<float>&) const': PCG_SPARSE.cpp:(.text._ZNK7PhysBAM17PCG_SPARSE_SYSTEMIfE8MultiplyERKNS_18KRYLOV_VECTOR_BASEIfEERS3_[PhysBAM::PCG_SPARSE_SYSTEM<float>::Multiply(PhysBAM::KRYLOV_VECTOR_BASE<float> const&, PhysBAM::KRYLOV_VECTOR_BASE<float>&) const]+0xa3): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE.cpp.o): In function `PhysBAM::PCG_SPARSE_SYSTEM<float>::Apply_Preconditioner(PhysBAM::KRYLOV_VECTOR_BASE<float> const&, PhysBAM::KRYLOV_VECTOR_BASE<float>&) const': PCG_SPARSE.cpp:(.text._ZNK7PhysBAM17PCG_SPARSE_SYSTEMIfE20Apply_PreconditionerERKNS_18KRYLOV_VECTOR_BASEIfEERS3_[PhysBAM::PCG_SPARSE_SYSTEM<float>::Apply_Preconditioner(PhysBAM::KRYLOV_VECTOR_BASE<float> const&, PhysBAM::KRYLOV_VECTOR_BASE<float>&) const]+0xd3): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Forward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE.cpp:(.text._ZNK7PhysBAM17PCG_SPARSE_SYSTEMIfE20Apply_PreconditionerERKNS_18KRYLOV_VECTOR_BASEIfEERS3_[PhysBAM::PCG_SPARSE_SYSTEM<float>::Apply_Preconditioner(PhysBAM::KRYLOV_VECTOR_BASE<float> const&, PhysBAM::KRYLOV_VECTOR_BASE<float>&) const]+0x102): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Backward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE5SolveERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x37d): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE5SolveERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x494): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Create_Submatrix(PhysBAM::INTERVAL<int> const&)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE5SolveERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x4d8): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::In_Place_Incomplete_Cholesky_Factorization(bool, float, float, float)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE5SolveERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x528): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Forward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE5SolveERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x54d): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Backward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE5SolveERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x70a): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE5SolveERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x9a2): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::~SPARSE_MATRIX_FLAT_NXN()' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_In_Parts(PhysBAM::DOMAIN_ITERATOR_THREADED_ALPHA<PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >, PhysBAM::VECTOR<float, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE14Solve_In_PartsERNS_30DOMAIN_ITERATOR_THREADED_ALPHAIS3_S2_EERKNS_5ARRAYIiNS1_IiLi1EEEEERKNS7_INS_8INTERVALIiEEiEERKNS7_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_In_Parts(PhysBAM::DOMAIN_ITERATOR_THREADED_ALPHA<PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >, PhysBAM::VECTOR<float, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0xd8f): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::~SPARSE_MATRIX_FLAT_NXN()' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_Part_Two(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE14Solve_Part_TwoERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEERNS8_ISO_iEESR_[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_Part_Two(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&)]+0xef): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_Part_Three(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE16Solve_Part_ThreeERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS8_IPSI_iEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_Part_Three(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x106): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Create_Submatrix(PhysBAM::INTERVAL<int> const&)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE16Solve_Part_ThreeERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS8_IPSI_iEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_Part_Three(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x16b): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::In_Place_Incomplete_Cholesky_Factorization(bool, float, float, float)' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_Part_Four(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE15Solve_Part_FourERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS8_INS_9VECTOR_NDIfEEiEESK_SK_RNS8_IPNS_22SPARSE_MATRIX_FLAT_NXNIfEEiEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_Part_Four(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x106): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Forward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE15Solve_Part_FourERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS8_INS_9VECTOR_NDIfEEiEESK_SK_RNS8_IPNS_22SPARSE_MATRIX_FLAT_NXNIfEEiEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_Part_Four(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x158): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Backward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_Part_Six(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float> const&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE14Solve_Part_SixERNS_5RANGEINS1_IiLi1EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERKNS_22SPARSE_MATRIX_FLAT_NXNIfEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_Part_Six(PhysBAM::RANGE<PhysBAM::VECTOR<int, 1> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 1> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float> const&)]+0xf3): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x458): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::SPARSE_MATRIX_FLAT_NXN(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float> const&)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x49c): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::In_Place_Incomplete_Cholesky_Factorization(bool, float, float, float)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x4ed): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Forward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x516): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Backward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0xb1c): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::~SPARSE_MATRIX_FLAT_NXN()' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Threaded_Part_One(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float, int, int)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE17Threaded_Part_OneERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_fii[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Threaded_Part_One(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float, int, int)]+0x7e): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(int, int, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Threaded_Part_Three(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, int, int)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi1EEEE19Threaded_Part_ThreeERNS_22SPARSE_MATRIX_FLAT_NXNIfEEii[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 1> >::Threaded_Part_Three(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, int, int)]+0x37): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(int, int, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE5SolveERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x386): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE5SolveERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x49d): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Create_Submatrix(PhysBAM::INTERVAL<int> const&)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE5SolveERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x4e1): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::In_Place_Incomplete_Cholesky_Factorization(bool, float, float, float)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE5SolveERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x52e): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Forward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE5SolveERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x553): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Backward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE5SolveERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x70a): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE5SolveERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x9a2): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::~SPARSE_MATRIX_FLAT_NXN()' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_In_Parts(PhysBAM::DOMAIN_ITERATOR_THREADED_ALPHA<PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >, PhysBAM::VECTOR<float, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE14Solve_In_PartsERNS_30DOMAIN_ITERATOR_THREADED_ALPHAIS3_S2_EERKNS_5ARRAYIiNS1_IiLi2EEEEERKNS7_INS_8INTERVALIiEEiEERKNS7_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_In_Parts(PhysBAM::DOMAIN_ITERATOR_THREADED_ALPHA<PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >, PhysBAM::VECTOR<float, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0xd8f): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::~SPARSE_MATRIX_FLAT_NXN()' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_Part_Two(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE14Solve_Part_TwoERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEERNS8_ISO_iEESR_[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_Part_Two(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&)]+0xef): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_Part_Three(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE16Solve_Part_ThreeERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS8_IPSI_iEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_Part_Three(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x109): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Create_Submatrix(PhysBAM::INTERVAL<int> const&)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE16Solve_Part_ThreeERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS8_IPSI_iEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_Part_Three(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x180): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::In_Place_Incomplete_Cholesky_Factorization(bool, float, float, float)' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_Part_Four(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE15Solve_Part_FourERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS8_INS_9VECTOR_NDIfEEiEESK_SK_RNS8_IPNS_22SPARSE_MATRIX_FLAT_NXNIfEEiEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_Part_Four(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x106): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Forward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE15Solve_Part_FourERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS8_INS_9VECTOR_NDIfEEiEESK_SK_RNS8_IPNS_22SPARSE_MATRIX_FLAT_NXNIfEEiEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_Part_Four(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x158): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Backward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_Part_Six(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float> const&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE14Solve_Part_SixERNS_5RANGEINS1_IiLi2EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERKNS_22SPARSE_MATRIX_FLAT_NXNIfEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_Part_Six(PhysBAM::RANGE<PhysBAM::VECTOR<int, 2> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 2> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float> const&)]+0xf3): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x458): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::SPARSE_MATRIX_FLAT_NXN(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float> const&)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x49c): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::In_Place_Incomplete_Cholesky_Factorization(bool, float, float, float)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x4ed): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Forward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x516): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Backward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0xb1c): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::~SPARSE_MATRIX_FLAT_NXN()' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Threaded_Part_One(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float, int, int)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE17Threaded_Part_OneERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_fii[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Threaded_Part_One(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float, int, int)]+0x7e): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(int, int, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Threaded_Part_Three(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, int, int)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi2EEEE19Threaded_Part_ThreeERNS_22SPARSE_MATRIX_FLAT_NXNIfEEii[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 2> >::Threaded_Part_Three(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, int, int)]+0x37): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(int, int, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE5SolveERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x38f): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE5SolveERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x4a6): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Create_Submatrix(PhysBAM::INTERVAL<int> const&)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE5SolveERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x4ea): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::In_Place_Incomplete_Cholesky_Factorization(bool, float, float, float)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE5SolveERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x537): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Forward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE5SolveERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x55c): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Backward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE5SolveERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x713): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE5SolveERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x9ab): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::~SPARSE_MATRIX_FLAT_NXN()' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_In_Parts(PhysBAM::DOMAIN_ITERATOR_THREADED_ALPHA<PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >, PhysBAM::VECTOR<float, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE14Solve_In_PartsERNS_30DOMAIN_ITERATOR_THREADED_ALPHAIS3_S2_EERKNS_5ARRAYIiNS1_IiLi3EEEEERKNS7_INS_8INTERVALIiEEiEERKNS7_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEESP_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_In_Parts(PhysBAM::DOMAIN_ITERATOR_THREADED_ALPHA<PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >, PhysBAM::VECTOR<float, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0xd8f): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::~SPARSE_MATRIX_FLAT_NXN()' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_Part_Two(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE14Solve_Part_TwoERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEERNS8_ISO_iEESR_[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_Part_Two(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&)]+0x10a): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_Part_Three(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE16Solve_Part_ThreeERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS8_IPSI_iEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_Part_Three(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x118): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Create_Submatrix(PhysBAM::INTERVAL<int> const&)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE16Solve_Part_ThreeERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS8_IPSI_iEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_Part_Three(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x192): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::In_Place_Incomplete_Cholesky_Factorization(bool, float, float, float)' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_Part_Four(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE15Solve_Part_FourERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS8_INS_9VECTOR_NDIfEEiEESK_SK_RNS8_IPNS_22SPARSE_MATRIX_FLAT_NXNIfEEiEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_Part_Four(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x106): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Forward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE15Solve_Part_FourERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERNS8_INS_9VECTOR_NDIfEEiEESK_SK_RNS8_IPNS_22SPARSE_MATRIX_FLAT_NXNIfEEiEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_Part_Four(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::VECTOR_ND<float>, int>&, PhysBAM::ARRAY<PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>*, int>&)]+0x158): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Backward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_Part_Six(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float> const&)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE14Solve_Part_SixERNS_5RANGEINS1_IiLi3EEEEERKNS_5ARRAYIiS5_EERKNS8_INS_8INTERVALIiEEiEERKNS8_ISE_iEERKNS_22SPARSE_MATRIX_FLAT_NXNIfEE[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_Part_Six(PhysBAM::RANGE<PhysBAM::VECTOR<int, 3> >&, PhysBAM::ARRAY<int, PhysBAM::VECTOR<int, 3> > const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::ARRAY<PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int>, int> const&, PhysBAM::SPARSE_MATRIX_FLAT_NXN<float> const&)]+0x10e): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(PhysBAM::INTERVAL<int> const&, PhysBAM::ARRAY<PhysBAM::INTERVAL<int>, int> const&, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x458): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::SPARSE_MATRIX_FLAT_NXN(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float> const&)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x49c): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::In_Place_Incomplete_Cholesky_Factorization(bool, float, float, float)' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x4ed): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Forward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0x516): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Solve_Backward_Substitution(PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&, bool, bool) const' PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE14Solve_In_PartsERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_f[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Solve_In_Parts(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float)]+0xb1c): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::~SPARSE_MATRIX_FLAT_NXN()' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Threaded_Part_One(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float, int, int)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE17Threaded_Part_OneERNS_22SPARSE_MATRIX_FLAT_NXNIfEERNS_9VECTOR_NDIfEES9_fii[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Threaded_Part_One(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, PhysBAM::VECTOR_ND<float>&, PhysBAM::VECTOR_ND<float>&, float, int, int)]+0x7e): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(int, int, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' ../PhysBAM_Tools/libPhysBAM_Tools.a(PCG_SPARSE_THREADED.cpp.o): In function `PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Threaded_Part_Three(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, int, int)': PCG_SPARSE_THREADED.cpp:(.text._ZN7PhysBAM19PCG_SPARSE_THREADEDINS_6VECTORIfLi3EEEE19Threaded_Part_ThreeERNS_22SPARSE_MATRIX_FLAT_NXNIfEEii[PhysBAM::PCG_SPARSE_THREADED<PhysBAM::VECTOR<float, 3> >::Threaded_Part_Three(PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>&, int, int)]+0x37): undefined reference to `PhysBAM::SPARSE_MATRIX_FLAT_NXN<float>::Times(int, int, PhysBAM::VECTOR_ND<float> const&, PhysBAM::VECTOR_ND<float>&) const' collect2: ld returned 1 exit status make[3]: *** [Projects/smoke] Error 1 make[2]: *** [Projects/CMakeFiles/smoke.dir/all] Error 2 make[1]: *** [Projects/CMakeFiles/smoke.dir/rule] Error 2 make: *** [smoke] Error 2
This is referenced in commit (in my fork) d7763e6c2fc693e925dbcb59f8fff25c5a65f656
I get failures when linking smoke executable. Sorry for the large dump, but here is the compiler output: