编译CGAL程序时发生链接器错误

时间:2017-11-29 18:38:33

标签: linker-errors cgal

当我编译CGAL程序时,出现了班轮错误,我不知道如何弄明白。这是错误报告:

Undefined symbols for architecture x86_64:
  "boost::detail::get_tss_data(void const*)", referenced from:
      boost::thread_specific_ptr<CGAL::Random>::get() const in CircleIntersect-ff9ac1.o
  "boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)", referenced from:
      boost::thread_specific_ptr<CGAL::Random>::reset(CGAL::Random*) in CircleIntersect-ff9ac1.o
      boost::thread_specific_ptr<CGAL::Random>::~thread_specific_ptr() in CircleIntersect-ff9ac1.o
  "___gmpq_add", referenced from:
      CGAL::operator+(CGAL::Gmpq const&, CGAL::Gmpq const&) in CircleIntersect-ff9ac1.o
  "___gmpq_clear", referenced from:
      CGAL::Gmpq_rep::~Gmpq_rep() in CircleIntersect-ff9ac1.o
  "___gmpq_cmp", referenced from:
      CGAL::Gmpq::operator<(CGAL::Gmpq const&) const in CircleIntersect-ff9ac1.o
  "___gmpq_cmp_si", referenced from:
      CGAL::Gmpq::operator==(int) const in CircleIntersect-ff9ac1.o
  "___gmpq_div", referenced from:
      CGAL::operator/(CGAL::Gmpq const&, CGAL::Gmpq const&) in CircleIntersect-ff9ac1.o
  "___gmpq_equal", referenced from:
      CGAL::Gmpq::operator==(CGAL::Gmpq const&) const in CircleIntersect-ff9ac1.o
  "___gmpq_get_d", referenced from:
      CGAL::Gmpq::to_double() const in CircleIntersect-ff9ac1.o
  "___gmpq_init", referenced from:
      CGAL::Gmpq_rep::Gmpq_rep() in CircleIntersect-ff9ac1.o
  "___gmpq_mul", referenced from:
      CGAL::operator*(CGAL::Gmpq const&, CGAL::Gmpq const&) in CircleIntersect-ff9ac1.o
  "___gmpq_neg", referenced from:
      CGAL::Gmpq::operator-() const in CircleIntersect-ff9ac1.o
  "___gmpq_set_d", referenced from:
      CGAL::Gmpq::Gmpq(double) in CircleIntersect-ff9ac1.o
  "___gmpq_set_si", referenced from:
      CGAL::Gmpq::Gmpq(int) in CircleIntersect-ff9ac1.o
  "___gmpq_sub", referenced from:
      CGAL::operator-(CGAL::Gmpq const&, CGAL::Gmpq const&) in CircleIntersect-ff9ac1.o
  "_mpfr_clear", referenced from:
      CGAL::Real_embeddable_traits<CGAL::Gmpq>::To_interval::operator()(CGAL::Gmpq const&) const in CircleIntersect-ff9ac1.o
  "_mpfr_get_d", referenced from:
      CGAL::Real_embeddable_traits<CGAL::Gmpq>::To_interval::operator()(CGAL::Gmpq const&) const in CircleIntersect-ff9ac1.o
  "_mpfr_init2", referenced from:
      CGAL::Real_embeddable_traits<CGAL::Gmpq>::To_interval::operator()(CGAL::Gmpq const&) const in CircleIntersect-ff9ac1.o
  "_mpfr_set_q", referenced from:
      CGAL::Real_embeddable_traits<CGAL::Gmpq>::To_interval::operator()(CGAL::Gmpq const&) const in CircleIntersect-ff9ac1.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

根据这份报告,我已经安装了GMPQ和boost库,并使用CMake编译我的CGAL程序,但链接器错误仍然存​​在。该代码用于计算圆和线段之间的交集。

0 个答案:

没有答案