将CGAL库与XCode链接

时间:2015-01-17 03:37:39

标签: c++ xcode cgal

我使用macports安装了CGAL。我在一个例子上运行CMake并且运行良好。 所以我尝试创建一个新项目并从示例中粘贴我需要的代码。所以我还没有链接CGAL库,也无法运行代码。我不知道如何在构建设置中链接它。希望有人能指导我。

我试图运行envelope2.cpp。

2 个答案:

答案 0 :(得分:8)

您提到了MacPorts,但这里是Homebrew的说明。它们应该非常相似,但您可能需要更改从/usr/local/opt/local的部分路径。

安装库

brew install cgal

添加包含

  • 打开项目设置。
  • 选择项目。
  • 选择Build Settings标签。
  • 选择All过滤器。
  • 搜索header search,您将找到正确的设置: Found the setting
  • 双击Header Search Paths
  • 旁边的路径
  • 点击详细信息弹出窗口中的+按钮: enter image description here
  • 输入/usr/local/include/
  • 在详细信息弹出窗口外单击以关闭它。

添加库

  • 打开项目设置。
  • 选择目标。
  • 选择General标签。
  • Linked Frameworks and Libraries部分,点击+按钮: enter image description here
  • 您将获得一个选择对话框:
    Add Framework and Library dialog
  • 点击Add Other...按钮,您将获得一个打开的文件对话框。
  • 点击Option + /转到特定的目录: Switch to /usr/local/lib
  • 输入/usr/local/lib,然后点击Go
  • 选择以下文件(按住Command,同时点击以选择多个文件):
    • libboost_thread-mt.dylib
    • libCGAL.dylib
    • libCGAL_Core.dylib
    • libgmp.dylib
    • libmpfr.dylib

答案 1 :(得分:0)

在系统上安装cgal时,示例example/Envelope_2(包含CMakeLists.txt文件)可以像这样运行:

cmake .
make
./convex_hull

或者对于源外构建:

mkdir build
cd build
cmake ..
make
mv ../ch_points.dat .
./convex_hull

这是在OS X上使用brew安装cgal,安装到/usr/local/...。使用MacPorts可能会出现问题,因为它会将第三方软件包安装到/opt

根据How do I instruct CMake to look for libraries installed by MacPorts?,将以下内容添加到CMakeLists.txt文件(find_package之前)可能有所帮助:

list(APPEND CMAKE_LIBRARY_PATH /opt/local/lib)
list(APPEND CMAKE_INCLUDE_PATH /opt/local/include)