Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用XCode链接CGAL库_C++_Xcode_Cgal - Fatal编程技术网

C++ 用XCode链接CGAL库

C++ 用XCode链接CGAL库,c++,xcode,cgal,C++,Xcode,Cgal,我已经使用macports安装了CGAL。我在一个示例上运行了CMake,它运行得很好。 因此,我尝试创建一个新项目,并粘贴了一个示例中所需的代码。因此,我还没有链接CGAL库,无法运行代码。我不知道如何在构建设置中链接它。希望有人能引导我度过难关 我正在尝试运行envelope2.cpp。当系统上安装了cgal时,示例example/Envelope_2(包含CMakeLists.txt文件)可以如下方式运行: cmake . make ./convex_hull 或对于源代码外生成: mk

我已经使用macports安装了CGAL。我在一个示例上运行了CMake,它运行得很好。 因此,我尝试创建一个新项目,并粘贴了一个示例中所需的代码。因此,我还没有链接CGAL库,无法运行代码。我不知道如何在构建设置中链接它。希望有人能引导我度过难关


我正在尝试运行envelope2.cpp。

当系统上安装了
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
,brew安装在
/usr/local/…
中。使用MacPorts可能会出现问题,因为它会将第三方软件包安装到
/opt

根据,将以下内容添加到
CMakeLists.txt
文件(在
find_package
之前)可能会有所帮助:

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

您提到了MacPorts,但这里有关于自制的说明。它们应该非常相似,但是您可能需要将一些路径从
/usr/local
更改为
/opt/local

安装库 添加包含项
  • 打开项目设置
  • 选择项目
  • 选择
    生成设置
    选项卡
  • 选择
    All
    过滤器
  • 搜索
    标题搜索
    ,您将找到正确的设置:
  • 双击
    标题搜索路径旁边的路径
  • 单击详细信息弹出窗口上的
    +
    按钮:
  • 输入
    /usr/local/include/
  • 在详细信息弹出窗口外单击以关闭它
添加库
  • 打开项目设置
  • 选择目标
  • 选择
    常规
    选项卡
  • 在链接框架和库的
    部分中,单击
    +
    按钮:
  • 您将看到一个选择对话框:
  • 单击
    添加其他…
    按钮,您将获得一个打开文件对话框
  • 点击
    选项+/
    转到特定的a目录:
  • 输入
    /usr/local/lib
    ,然后单击
    Go
  • 选择以下文件(按住
    命令
    ,同时单击可同时选择多个文件):
    • libboost\u thread-mt.dylib
    • libCGAL.dylib
    • libCGAL\u Core.dylib
    • libgmp.dylib
    • libmpfr.dylib

CGAL的文档解释了如何使用cmake。你想避免使用cmake吗?我很想在XCode内部构建它,如果有任何简单的方法让XCode调用他们的cmake脚本那就太好了。对于赏金,我真的在寻找一些特定于XCode的说明。我应该提到我正在处理一个现有的Cinder项目,所以我尝试手动添加库和include path,修复了大多数弹出的错误,但由于ld抛出了一个
重复符号\uuuuz3foov
错误而挂断。啊,一个快速的
c++filt\uuuz3foov
显示我的问题试图粘住我的
foo()
在包含两次的标题中测试函数。感谢您提供详细的分步回答。为了进一步补充这个答案:我仍然无法编译我的CGAL C++程序,即使在遵循以上步骤。为了使其工作,我在
搜索路径
选项卡中做了以下更改:-
始终搜索用户路径
-->
-
用户标题搜索路径
-->
->
/usr/local/include
,它工作了!我不明白为什么需要这些额外的步骤,如果有人知道如何避免这些,请让我知道。有趣的是,我会在下次更新新版本的说明时添加一个注释。
brew install cgal