我已经使用Macports安装了CGAL。我在一个示例上运行了CMake,一切都正常。所以我尝试创建一个新项目,并从示例中复制所需的代码。因此,我还没有链接CGAL库,无法运行代码。我不确定如何在构建设置中进行链接。希望有人能指导我。
我正在尝试运行envelope2.cpp。
我正在尝试运行envelope2.cpp。
您提到了MacPorts,但这里提供的是Homebrew的说明。它们应该非常相似,但您可能需要将一些路径从/usr/local
更改为/opt/local
。
brew install cgal
Build Settings
选项卡。All
过滤器。header search
,您将找到正确的设置:
Header Search Paths
旁边的路径。+
按钮:
/usr/local/include/
。General
选项卡。Linked Frameworks and Libraries
部分单击 +
按钮:
Add Other...
按钮,然后会出现一个打开文件对话框。Option + /
进入指定目录:
/usr/local/lib
,然后单击 Go
。Command
键单击以一次选择多个):
libboost_thread-mt.dylib
libCGAL.dylib
libCGAL_Core.dylib
libgmp.dylib
libmpfr.dylib
始终搜索用户路径
---> 是
用户头文件搜索路径
---> /usr/local/include
当系统安装了cgal
后,示例example/Envelope_2
(包含一个CMakeLists.txt
文件),可以这样运行:
cmake .
make
./convex_hull
或者进行一个非源码构建:
mkdir build
cd build
cmake ..
make
mv ../ch_points.dat .
./convex_hull
这是在安装了cgal
的OS X上,使用brew进行安装,它会安装到/usr/local/...
。使用MacPorts可能会有问题,因为它会将第三方软件包安装到/opt
。
根据如何指示CMake查找由MacPorts安装的库?,在CMakeLists.txt
文件中添加以下内容(在find_package
之前)可能会有所帮助:
list(APPEND CMAKE_LIBRARY_PATH /opt/local/lib)
list(APPEND CMAKE_INCLUDE_PATH /opt/local/include)
c++filt __Z3foov
显示我的问题是尝试将 foo()
测试函数放在被包含两次的头文件中。 - drewish