CGAL 编译/链接器错误

CGAL Compile / Linker Error

我正在尝试在 Nvidia 的 Nsight Eclipse 工作室 (Eclipse CDT) 中设置 CGAL。我不打算将它与 CUDA 一起使用,但是我需要将它用于我正在处理的项目的另一部分。

我收到的错误是:

/home/me/work/x64_linux/cgal/include/CGAL/GMP/Gmpq_type.h:62: 
undefined reference to `__gmpq_init'

接下来是关于 gmpq 的其他几个相同的错误。我认为这是一个 linking 问题,但据我所知,我不确定哪里出了问题。我的其他依赖项 link 很好。我通过 apt-get 安装了 CGAL,并按照手册中给出的设置说明进行操作。也许我在那里的某个地方出错了,但长话短说,我对如何让它发挥作用很迷茫!感谢任何帮助/提示!

编辑:这是解决方案,供将来可能偶然发现此问题的任何人使用。

出于某种原因,IDE 错误地引用了库,尽管我的输入是正确的。我只是简单地打开了一个新项目并将我的文件迁移过来。添加库遵循 Eclipse 中的标准过程:转到 Project Properties -> Paths and Symbols。将库所在目录的路径添加到library paths,将库名添加到libraries。

  1. 确保在编译代码时,应该将 -l 选项传递给编译器 link 传递给 CGAL
  2. 如果您 -l 选项传递给编译器,请确保可以从路径中的文件夹访问 CGAL 库,或者您正在传递CGAL 库的完整路径。

如果没有看到您的构建设置,我无话可说。

这是解决方案,供将来可能遇到此问题的任何人使用。

出于某种原因,IDE 错误地引用了库,尽管我的输入是正确的。我只是简单地打开了一个新项目并将我的文件迁移过来。添加库遵循 Eclipse 中的标准过程:转到 Project Properties -> Paths and Symbols。将库所在目录的路径添加到library paths,将库名添加到libraries。如果您需要说明,请询问。