如何在Mac上编译CGAL程序?

时间:2015-11-18 06:58:25

标签: c++ macos gcc g++ cgal

OS X El Capitan 10.11.2 通过macports安装的CGAL库(版本2.3.4)

我有一个文件(/Users/Arseniy/Desktop/vec.cpp):

#include <iostream>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/convex_hull_2.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef K::Point_2 Point_2;
int main()
{
  Point_2 points[5] = { Point_2(0,0), Point_2(10,0), Point_2(10,10), Point_2(6,5), Point_2(4,1) };
  Point_2 result[5];
  Point_2 *ptr = CGAL::convex_hull_2( points, points+5, result );
  std::cout <<  ptr - result << " points on the convex hull:" << std::endl;
  for(int i = 0; i < ptr - result; i++){
    std::cout << result[i] << std::endl;
  }
  return 0;
}

我还找到了CGAL库的标题(/ usr / local / include / CGAL)。

当我尝试通过终端中的g ++编译它(g ++ -0 vec vec.cpp -lCGAL -I / usr / local / include / CGAL)时,我看到错误: &#34; ld:找不到-lCGAL的库  clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)。

我对gcc很新。这个问题对你来说似乎很容易,但我在这里学习。

感谢您的关注和帮助!

2 个答案:

答案 0 :(得分:0)

我认为Pods不包含在构建中。

你能检查一下xcode中的pod根路径吗?为此,请点击“pods”&gt;构建设置&gt;在那里你看到“PODS_ROOT”双击那个,显示类似

的东西

<强> $ {SRCROOT} /../豆荚

如果一切正常,问题将是pods未安装,运行pods install(pod install) 有关进一步参考,请使用此链接 http://www.binpress.com/tutorial/cocoapods-dependancy-management-for-xcode/139

抱歉,如果这不能解决您的问题。

答案 1 :(得分:0)

您需要使用-L选项为链接器提供CGAL库的路径。你也可能错过了-frounding-math标志。 CGAL建议使用cmake。