c++ - Linking error with CGAL -
i have cgal installed on mac os x (10.8.4). have incorporated aspects of cgal previous c++ programs compute convex hull of 3d point cloud. however, trying include other parts of cgal computing surface meshes, converting them polyhedra, , on. when that, program compiles fine, receive linking errors don't understand.
here linking command following compilation:
c++ -o2 -i/usr/local/include -i/usr/include -i/opt/local/include -o /users/bullard/shapemetrology/particle/bin/diffgeom diffgeom.a -l/usr/local/lib -l/usr/lib -l/opt/local/lib -lboost_math_c99 -lm -lcgal -lcgal_core -lcgal_imageio -lgmp
and here (rather verbose) linking errors receiving:
undefined symbols architecture x86_64: "boost::detail::get_tss_data(void const*)", referenced from: cgal::lazy, cgal::gmpq, cgal::lazy_exact_nt, cgal::to_interval >::zero() in diffgeom.a(particle.o) boost::thread_specific_ptr, cgal::gmpq, cgal::lazy_exact_nt, cgal::to_interval > >::reset(cgal::lazy, cgal::gmpq, cgal::lazy_exact_nt, cgal::to_interval >*) in diffgeom.a(particle.o) cgal::lazy > >, cgal::point_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > >::zero() in diffgeom.a(particle.o) boost::thread_specific_ptr > >, cgal::point_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > > >::reset(cgal::lazy > >, cgal::point_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > >*) in diffgeom.a(particle.o) cgal::lazy > >, cgal::sphere_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > >::zero() in diffgeom.a(particle.o) boost::thread_specific_ptr > >, cgal::sphere_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > > >::reset(cgal::lazy > >, cgal::sphere_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > >*) in diffgeom.a(particle.o) "boost::detail::set_tss_data(void const*, boost::shared_ptr, void*, bool)", referenced from: boost::thread_specific_ptr, cgal::gmpq, cgal::lazy_exact_nt, cgal::to_interval > >::reset(cgal::lazy, cgal::gmpq, cgal::lazy_exact_nt, cgal::to_interval >*) in diffgeom.a(particle.o) boost::thread_specific_ptr, cgal::gmpq, cgal::lazy_exact_nt, cgal::to_interval > >::~thread_specific_ptr() in diffgeom.a(particle.o) boost::thread_specific_ptr > >, cgal::point_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > > >::reset(cgal::lazy > >, cgal::point_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > >*) in diffgeom.a(particle.o) boost::thread_specific_ptr > >, cgal::point_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > > >::~thread_specific_ptr() in diffgeom.a(particle.o) boost::thread_specific_ptr > >, cgal::sphere_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > > >::reset(cgal::lazy > >, cgal::sphere_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > >*) in diffgeom.a(particle.o) boost::thread_specific_ptr > >, cgal::sphere_3 >, cgal::gmpq, cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > > > >::~thread_specific_ptr() in diffgeom.a(particle.o) "_mpfr_clear", referenced from: cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 > > (cgal::sphere_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 > >::operator() >(cgal::sphere_3 const&) const in diffgeom.a(particle.o) cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > >::operator()(cgal::point_3 > const&) const in diffgeom.a(particle.o) cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > >::operator()(cgal::sphere_3 > const&) const in diffgeom.a(particle.o) cgal::lazy_rep_1, cgal::gmpq, cgal::cartesiankernelfunctors::compute_squared_radius_3 > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 >, cgal::to_interval, cgal::sphere_3 >::update_exact() const in diffgeom.a(particle.o) cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_z_3 > > (cgal::point_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_z_3 > >::operator() >(cgal::point_3 const&) const in diffgeom.a(particle.o) cgal::lazy_rep_1, cgal::gmpq, cgal::cartesiankernelfunctors::compute_z_3 > >, cgal::cartesiankernelfunctors::compute_z_3 >, cgal::to_interval, cgal::point_3 >::update_exact() const in diffgeom.a(particle.o) cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_y_3 > > (cgal::point_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_y_3 > >::operator() >(cgal::point_3 const&) const in diffgeom.a(particle.o) ... "_mpfr_get_d", referenced from: cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 > > (cgal::sphere_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 > >::operator() >(cgal::sphere_3 const&) const in diffgeom.a(particle.o) cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > >::operator()(cgal::point_3 > const&) const in diffgeom.a(particle.o) cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > >::operator()(cgal::sphere_3 > const&) const in diffgeom.a(particle.o) cgal::lazy_rep_1, cgal::gmpq, cgal::cartesiankernelfunctors::compute_squared_radius_3 > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 >, cgal::to_interval, cgal::sphere_3 >::update_exact() const in diffgeom.a(particle.o) cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_z_3 > > (cgal::point_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_z_3 > >::operator() >(cgal::point_3 const&) const in diffgeom.a(particle.o) cgal::lazy_rep_1, cgal::gmpq, cgal::cartesiankernelfunctors::compute_z_3 > >, cgal::cartesiankernelfunctors::compute_z_3 >, cgal::to_interval, cgal::point_3 >::update_exact() const in diffgeom.a(particle.o) cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_y_3 > > (cgal::point_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_y_3 > >::operator() >(cgal::point_3 const&) const in diffgeom.a(particle.o) ... "_mpfr_init2", referenced from: cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 > > (cgal::sphere_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 > >::operator() >(cgal::sphere_3 const&) const in diffgeom.a(particle.o) cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > >::operator()(cgal::point_3 > const&) const in diffgeom.a(particle.o) cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > >::operator()(cgal::sphere_3 > const&) const in diffgeom.a(particle.o) cgal::lazy_rep_1, cgal::gmpq, cgal::cartesiankernelfunctors::compute_squared_radius_3 > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 >, cgal::to_interval, cgal::sphere_3 >::update_exact() const in diffgeom.a(particle.o) cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_z_3 > > (cgal::point_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_z_3 > >::operator() >(cgal::point_3 const&) const in diffgeom.a(particle.o) cgal::lazy_rep_1, cgal::gmpq, cgal::cartesiankernelfunctors::compute_z_3 > >, cgal::cartesiankernelfunctors::compute_z_3 >, cgal::to_interval, cgal::point_3 >::update_exact() const in diffgeom.a(particle.o) cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_y_3 > > (cgal::point_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_y_3 > >::operator() >(cgal::point_3 const&) const in diffgeom.a(particle.o) ... "_mpfr_set_q", referenced from: cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 > > (cgal::sphere_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 > >::operator() >(cgal::sphere_3 const&) const in diffgeom.a(particle.o) cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > >::operator()(cgal::point_3 > const&) const in diffgeom.a(particle.o) cgal::cartesian_converter, cgal::simple_cartesian >, cgal::nt_converter > >::operator()(cgal::sphere_3 > const&) const in diffgeom.a(particle.o) cgal::lazy_rep_1, cgal::gmpq, cgal::cartesiankernelfunctors::compute_squared_radius_3 > >, cgal::cartesiankernelfunctors::compute_squared_radius_3 >, cgal::to_interval, cgal::sphere_3 >::update_exact() const in diffgeom.a(particle.o) cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_z_3 > > (cgal::point_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_z_3 > >::operator() >(cgal::point_3 const&) const in diffgeom.a(particle.o) cgal::lazy_rep_1, cgal::gmpq, cgal::cartesiankernelfunctors::compute_z_3 > >, cgal::cartesiankernelfunctors::compute_z_3 >, cgal::to_interval, cgal::point_3 >::update_exact() const in diffgeom.a(particle.o) cgal::cpp11::result_of > >, cgal::cartesiankernelfunctors::compute_y_3 > > (cgal::point_3)>::type cgal::lazy_construction_nt > >, cgal::cartesiankernelfunctors::compute_y_3 > >::operator() >(cgal::point_3 const&) const in diffgeom.a(particle.o) ... ld: symbol(s) not found architecture x86_64 clang: error: linker command failed exit code 1 (use -v see invocation) make: * [/users/bullard/shapemetrology/particle/bin/diffgeom] error 1
am missing cgal library in linking command? again, had no trouble when using cgal compute convex hull, problem seems have arisen trying include surface meshing.
i happy post relevant parts of code if help, @ point don't know parts relevant.
Comments
Post a Comment