I am currently trying to use reactphysics3d library to make simple pariticle collision simulator. https://www.reactphysics3d.com/
I tried to compile my c++ file with the static library but it doesn't compile well. The directory structure is something like this.
ParticleSimulation | |-- test.cpp | |-- lib | |-- libreactphysics3d.a | |-- reactphysics3d | |-- src | |-- reactphysics3d.h
My test code is
#include "reactphysics3d.h"using namespace reactphysics3d;int main() { rp3d::SphereShape * sphereShape = new SphereShape(1.0); delete sphereShape;}
I tried to compile with
gcc -std=c++11 -Ireactphysics3d/src -Llib -lreactphysics3d -o myapp test.cpp ./lib/libreactphysics3d.a
The entire error message is too long to post here(over 30000 characters exceeds the limit of a single post of Stackoverflow). The first lines of the message are
Undefined symbols for architecture x86_64:"std::__1::__basic_string_common<true>::__throw_length_error() const", referenced from: std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str() const in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from: reactphysics3d::ConcaveMeshShape::to_string() const in libreactphysics3d.a(ConcaveMeshShape.cpp.o) std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"std::__1::ios_base::getloc() const", referenced from: reactphysics3d::ConcaveMeshShape::to_string() const in libreactphysics3d.a(ConcaveMeshShape.cpp.o) std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"std::runtime_error::runtime_error(char const*)", referenced from: reactphysics3d::HalfEdgeStructure::init() in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) ..."std::runtime_error::~runtime_error()", referenced from: reactphysics3d::HalfEdgeStructure::init() in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) ..."std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)", referenced from: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string<std::nullptr_t>(char const*) in test-db2b03.o"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*)", referenced from: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > std::__1::operator+<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, char const*) in test-db2b03.o reactphysics3d::FixedJoint::to_string() const in libreactphysics3d.a(FixedJoint.cpp.o) reactphysics3d::Vector3::to_string() const in libreactphysics3d.a(FixedJoint.cpp.o) reactphysics3d::Quaternion::to_string() const in libreactphysics3d.a(FixedJoint.cpp.o) reactphysics3d::HingeJoint::to_string() const in libreactphysics3d.a(HingeJoint.cpp.o) reactphysics3d::Vector3::to_string() const in libreactphysics3d.a(HingeJoint.cpp.o) reactphysics3d::Quaternion::to_string() const in libreactphysics3d.a(HingeJoint.cpp.o) ..."std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*, unsigned long)", referenced from: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in test-db2b03.o reactphysics3d::FixedJoint::to_string() const in libreactphysics3d.a(FixedJoint.cpp.o) reactphysics3d::Vector3::to_string() const in libreactphysics3d.a(FixedJoint.cpp.o) reactphysics3d::Quaternion::to_string() const in libreactphysics3d.a(FixedJoint.cpp.o) reactphysics3d::HingeJoint::to_string() const in libreactphysics3d.a(HingeJoint.cpp.o) reactphysics3d::Vector3::to_string() const in libreactphysics3d.a(HingeJoint.cpp.o) reactphysics3d::Quaternion::to_string() const in libreactphysics3d.a(HingeJoint.cpp.o) ..."std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::insert(unsigned long, char const*)", referenced from: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > std::__1::operator+<char, std::__1::char_traits<char>, std::__1::allocator<char> >(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&) in test-db2b03.o reactphysics3d::FixedJoint::to_string() const in libreactphysics3d.a(FixedJoint.cpp.o) reactphysics3d::Vector3::to_string() const in libreactphysics3d.a(FixedJoint.cpp.o) reactphysics3d::Quaternion::to_string() const in libreactphysics3d.a(FixedJoint.cpp.o) reactphysics3d::HingeJoint::to_string() const in libreactphysics3d.a(HingeJoint.cpp.o) reactphysics3d::Vector3::to_string() const in libreactphysics3d.a(HingeJoint.cpp.o) reactphysics3d::Quaternion::to_string() const in libreactphysics3d.a(HingeJoint.cpp.o) ..."std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::resize(unsigned long, char)", referenced from: std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::overflow(int) in libreactphysics3d.a(ConcaveMeshShape.cpp.o)
and the last lines are
non-virtual thunk to std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_stringstream() in libreactphysics3d.a(ConcaveMeshShape.cpp.o) virtual thunk to std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_stringstream() in libreactphysics3d.a(ConcaveMeshShape.cpp.o) std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_stringstream() in libreactphysics3d.a(ConcaveMeshShape.cpp.o) non-virtual thunk to std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_stringstream() in libreactphysics3d.a(ConcaveMeshShape.cpp.o) virtual thunk to std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_stringstream() in libreactphysics3d.a(ConcaveMeshShape.cpp.o) ..."std::__1::to_string(float)", referenced from: reactphysics3d::SphereShape::to_string() const in test-db2b03.o reactphysics3d::CapsuleShape::to_string() const in test-db2b03.o reactphysics3d::SliderJoint::to_string() const in test-db2b03.o reactphysics3d::HingeJoint::to_string() const in test-db2b03.o reactphysics3d::Vector3::to_string() const in test-db2b03.o reactphysics3d::Quaternion::to_string() const in test-db2b03.o reactphysics3d::Vector3::to_string() const in libreactphysics3d.a(FixedJoint.cpp.o) ..."std::terminate()", referenced from: ___clang_call_terminate in test-db2b03.o ___clang_call_terminate in libreactphysics3d.a(TriangleShape.cpp.o) ___clang_call_terminate in libreactphysics3d.a(ConcaveMeshShape.cpp.o) ___clang_call_terminate in libreactphysics3d.a(BoxShape.cpp.o) ___clang_call_terminate in libreactphysics3d.a(DynamicAABBTree.cpp.o) ___clang_call_terminate in libreactphysics3d.a(HalfEdgeStructure.cpp.o) ___clang_call_terminate in libreactphysics3d.a(mathematics_functions.cpp.o) ..."typeinfo for std::__1::basic_istream<char, std::__1::char_traits<char> >", referenced from: construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"typeinfo for std::__1::basic_ostream<char, std::__1::char_traits<char> >", referenced from: construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"typeinfo for std::__1::basic_iostream<char, std::__1::char_traits<char> >", referenced from: construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o) typeinfo for std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"typeinfo for std::__1::basic_streambuf<char, std::__1::char_traits<char> >", referenced from: typeinfo for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"typeinfo for std::runtime_error", referenced from: reactphysics3d::HalfEdgeStructure::init() in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) ..."vtable for __cxxabiv1::__class_type_info", referenced from: typeinfo for reactphysics3d::DynamicAABBTreeOverlapCallback in test-db2b03.o typeinfo for reactphysics3d::Joint in test-db2b03.o typeinfo for reactphysics3d::Joint in libreactphysics3d.a(FixedJoint.cpp.o) typeinfo for reactphysics3d::Joint in libreactphysics3d.a(HingeJoint.cpp.o) typeinfo for reactphysics3d::Joint in libreactphysics3d.a(SliderJoint.cpp.o) typeinfo for reactphysics3d::Joint in libreactphysics3d.a(BallAndSocketJoint.cpp.o) typeinfo for reactphysics3d::CollisionShape in libreactphysics3d.a(CollisionShape.cpp.o) ... NOTE: a missing vtable usually means the first non-inline virtual member function has no definition."vtable for __cxxabiv1::__si_class_type_info", referenced from: typeinfo for reactphysics3d::ConvexShape in test-db2b03.o typeinfo for reactphysics3d::ConvexPolyhedronShape in test-db2b03.o typeinfo for reactphysics3d::BoxShape in test-db2b03.o typeinfo for reactphysics3d::SphereShape in test-db2b03.o typeinfo for reactphysics3d::CapsuleShape in test-db2b03.o typeinfo for reactphysics3d::TriangleShape in test-db2b03.o typeinfo for reactphysics3d::ConcaveShape in test-db2b03.o ... NOTE: a missing vtable usually means the first non-inline virtual member function has no definition."non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from: construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"non-virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from: construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from: construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"virtual thunk to std::__1::basic_istream<char, std::__1::char_traits<char> >::~basic_istream()", referenced from: construction vtable for std::__1::basic_istream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"virtual thunk to std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from: construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"virtual thunk to std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from: construction vtable for std::__1::basic_ostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from: construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"virtual thunk to std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from: construction vtable for std::__1::basic_iostream<char, std::__1::char_traits<char> >-in-std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"operator delete[](void*)", referenced from: reactphysics3d::TriangleVertexArray::~TriangleVertexArray() in libreactphysics3d.a(TriangleVertexArray.cpp.o) reactphysics3d::TriangleVertexArray::~TriangleVertexArray() in libreactphysics3d.a(TriangleVertexArray.cpp.o)"operator delete(void*)", referenced from: _main in test-db2b03.o reactphysics3d::BoxShape::~BoxShape() in test-db2b03.o reactphysics3d::SphereShape::~SphereShape() in test-db2b03.o reactphysics3d::CapsuleShape::~CapsuleShape() in test-db2b03.o reactphysics3d::TriangleShape::~TriangleShape() in test-db2b03.o reactphysics3d::ConvexTriangleAABBOverlapCallback::~ConvexTriangleAABBOverlapCallback() in test-db2b03.o reactphysics3d::BallAndSocketJoint::~BallAndSocketJoint() in test-db2b03.o ..."operator new[](unsigned long)", referenced from: reactphysics3d::TriangleVertexArray::computeVerticesNormals() in libreactphysics3d.a(TriangleVertexArray.cpp.o)"operator new(unsigned long)", referenced from: _main in test-db2b03.o std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in libreactphysics3d.a(ConcaveMeshShape.cpp.o) std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str() const in libreactphysics3d.a(ConcaveMeshShape.cpp.o)"___cxa_allocate_exception", referenced from: reactphysics3d::HalfEdgeStructure::init() in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) ..."___cxa_begin_catch", referenced from: ___clang_call_terminate in test-db2b03.o ___clang_call_terminate in libreactphysics3d.a(TriangleShape.cpp.o) ___clang_call_terminate in libreactphysics3d.a(ConcaveMeshShape.cpp.o) std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::overflow(int) in libreactphysics3d.a(ConcaveMeshShape.cpp.o) std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libreactphysics3d.a(ConcaveMeshShape.cpp.o) reactphysics3d::HalfEdgeStructure::Face* std::__1::uninitialized_copy<reactphysics3d::HalfEdgeStructure::Face*, reactphysics3d::HalfEdgeStructure::Face*>(reactphysics3d::HalfEdgeStructure::Face*, reactphysics3d::HalfEdgeStructure::Face*, reactphysics3d::HalfEdgeStructure::Face*) in libreactphysics3d.a(BoxShape.cpp.o) ___clang_call_terminate in libreactphysics3d.a(BoxShape.cpp.o) ..."___cxa_end_catch", referenced from: std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::overflow(int) in libreactphysics3d.a(ConcaveMeshShape.cpp.o) std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libreactphysics3d.a(ConcaveMeshShape.cpp.o) reactphysics3d::HalfEdgeStructure::Face* std::__1::uninitialized_copy<reactphysics3d::HalfEdgeStructure::Face*, reactphysics3d::HalfEdgeStructure::Face*>(reactphysics3d::HalfEdgeStructure::Face*, reactphysics3d::HalfEdgeStructure::Face*, reactphysics3d::HalfEdgeStructure::Face*) in libreactphysics3d.a(BoxShape.cpp.o)"___cxa_free_exception", referenced from: reactphysics3d::HalfEdgeStructure::init() in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) ..."___cxa_pure_virtual", referenced from: vtable for reactphysics3d::ConvexShape in test-db2b03.o vtable for reactphysics3d::ConvexPolyhedronShape in test-db2b03.o vtable for reactphysics3d::ConcaveShape in test-db2b03.o vtable for reactphysics3d::CollisionShape in libreactphysics3d.a(CollisionShape.cpp.o) vtable for reactphysics3d::ConvexShape in libreactphysics3d.a(ConvexShape.cpp.o) vtable for reactphysics3d::ConcaveShape in libreactphysics3d.a(ConcaveShape.cpp.o) vtable for reactphysics3d::ConvexPolyhedronShape in libreactphysics3d.a(ConvexPolyhedronShape.cpp.o) ..."___cxa_rethrow", referenced from: reactphysics3d::HalfEdgeStructure::Face* std::__1::uninitialized_copy<reactphysics3d::HalfEdgeStructure::Face*, reactphysics3d::HalfEdgeStructure::Face*>(reactphysics3d::HalfEdgeStructure::Face*, reactphysics3d::HalfEdgeStructure::Face*, reactphysics3d::HalfEdgeStructure::Face*) in libreactphysics3d.a(BoxShape.cpp.o)"___cxa_throw", referenced from: reactphysics3d::HalfEdgeStructure::init() in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::HalfEdgeStructure::Edge> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::add(reactphysics3d::Pair<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int> const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> >::add(reactphysics3d::Pair<unsigned int, reactphysics3d::Pair<unsigned int, unsigned int> > const&, bool) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, unsigned int>::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) reactphysics3d::Map<reactphysics3d::Pair<unsigned int, unsigned int>, reactphysics3d::Pair<unsigned int, unsigned int> >::operator[](reactphysics3d::Pair<unsigned int, unsigned int> const&) in libreactphysics3d.a(HalfEdgeStructure.cpp.o) ..."___gxx_personality_v0", referenced from: _main in test-db2b03.o reactphysics3d::BoxShape::to_string() const in test-db2b03.o reactphysics3d::SphereShape::to_string() const in test-db2b03.o reactphysics3d::CapsuleShape::to_string() const in test-db2b03.o reactphysics3d::TriangleShape::to_string() const in test-db2b03.o reactphysics3d::BallAndSocketJoint::to_string() const in test-db2b03.o reactphysics3d::SliderJoint::to_string() const in test-db2b03.o ...ld: symbol(s) not found for architecture x86_64clang: error: linker command failed with exit code 1 (use -v to see invocation)
I feel very uncomfortable with compiling c/c++ project with gcc/g++ compiler.Could you help me to figure the problem?Thank you.