从https://github.com/microsoft/vcpkg下载Vcpkg。
从命令行运行文件夹下脚本。
C:\dev\vcpkg> .\bootstrap-vcpkg.bat
默认情况下,vcpkg安装32位二进制文件,并将使用安装在您机器上的最新版本的Visual c++。如果你开发64位软件,你必须将Windows环境变量VCPKG_DEFAULT_TRIPLET设置为x64-windows,或者在你想要安装的包名后面添加后缀:x64-windows(例如cgal:x64-windows)。如果你想编译旧版本的编译器,参考vcpkg官方文档。因为windows的vcpkg中的gmp有bug,你需要安装32位的yasm-tool,才能正确构建cgal所需的gmp 64位:
C:\dev\vcpkg> ./vcpkg.exe install yasm-tool:x86-windows
安装cgal。如下所示:
C:\dev\vcpkg> ./vcpkg.exe install cgal
这将花费几分钟,因为它将下载GMP, MPFR,所有的boost头文件,它将编译GMP和MPFR,以及几个boost库。之后,你会在子目录C:\dev\vcpkg\installed\x64-windows中找到包含文件、库和dll。注意,CGAL是一个只有头文件的库,因此没有用于CGAL的lib或dll文件。
在本节中,我们将展示如何编译使用CGAL的程序。当您使用Vcpkg库管理器安装CGAL时,您在这些用户手册页面中找到的示例不会被下载。必须从以下下载页面单独下载:CGAL-5.5.1-examples.zip。假设您已经将该文件解压缩到主目录C:\Users\Me中,接下来我们将从2D Triangulation包中编译一个示例。
在使用CGAL构建任何东西之前,您必须选择编译器/链接器,设置编译器和链接器标志,指定您想使用的第三方库以及在哪里可以找到它们。收集所有这些信息被称为配置,我们使用CMake作为配置工具(关于支持的版本和从哪里下载的更多信息,请参阅CMake节)。
这个过程的结束标志着生成一个Visual c++解决方案和一个项目文件,您可以用它来构建您的程序。
C:\Users\Me\CGAL-5.5.1> cd examples\Triangulation_2
C:\Users\Me\CGAL-5.5.1\examples\Triangulation_2> mkdir build
C:\Users\Me\CGAL-5.5.1\examples\Triangulation_2> cd build
C:\Users\Me\CGAL-5.5.1\examples\Triangulation_2\build> cmake-gui ..
命令cmake-gui启动cmake的图形界面。当你按下配置按钮时,你必须:
指定生成器(例如,Visual Studio 16 2019),
指定可选平台(例如,如果你想创建64位二进制文件,则使用x64),
select指定用于交叉编译的工具链文件(文件vcpkg. txt)例如:C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake)。
配置过程完成后,在cmake-gui中勾选高级和分组。您将看到头文件和库的来源条目。如果不需要调试,则应该将变量CMAKE_BUILD_TYPE设置为Release。
一些CGAL包还有其他依赖项。例如,在上面的配置过程中,您可能已经观察到以下消息:
NOTICE: The example draw_triangulation_2 requires Qt and will not be compiled
CGAL是一个算法和数据结构库,因此不依赖于Qt,但是Triangulation_2包中的一个例子确实需要Qt来实现可视化。如果您已经安装了Qt,您可以简单地填写请求的CMake变量和路径。否则,你也可以使用vcpkg安装它:
C:\dev\vcpkg> ./vcpkg.exe install qt5
如果目标是64位应用程序,请记住指定——triplet或相关的环境变量。由于Qt5是模块化的,而且CGAL示例和演示只使用其中一些模块,您可以通过指定安装选项来节省下载和编译时间:
C:\dev\vcpkg> ./vcpkg.exe install cgal[qt]
在这两种情况下,当您再次启动CMake -gui并点击Configure按钮时,关于Qt的CMake变量和路径现在应该被填充了。注意,并非所有可选依赖项都可以通过Vcpkg库管理器获得。在这种情况下,您必须独立下载和安装它们(有关支持版本和下载链接的信息,请参阅编译器和第三方依赖项页面),并在CMake界面中填充缺失的信息,直到配置成功(没有更多表示缺失依赖项的红线)。
配置过程成功后,点击Generate按钮,您将找到文件Triangulation_2_examples。c:\ users \ me \ cal -5.5.1\examples\Triangulation_2\build。双击它以打开它。目录中的每个.cpp文件都有一个项目。将它们全部编译,或者只编译你感兴趣的那个。
如果您使用cmake,那么配置和编译您自己的代码实际上与CGAL示例相同。运行cmake(或cmake-gui)需要一个CMakeLists.txt文件。CGAL的所有示例和演示都会自动提供这个文件。对于您自己的程序,建议您查看您正在使用的包的示例文件夹中的CMakeLists.txt文件,以学习如何指定CGAL和其他第三方依赖项。
CGAL-5.5.1.zip可从https://www.cgal.org/download/windows.html网站下载并解压。
GMP和MPFR的预编译版本在GMP和MPFR库中提供,对于Windows 64位,可以从https://github.com/CGAL/cgal/releases获得。如果您只安装这些库来使用CGAL,那么您应该在解压缩CGAL压缩源归档时创建的CGAL-5.5.1目录中解压缩这个归档。通过这种方式,cmake将自动检测这些依赖项(然后您应该获得CGAL-5.5.1\auxiliary\gmp目录)。
Boost是CGAL的强制依赖项。Boost的二进制版本可以在SourceForge上找到。Boost安装程序同时安装Boost头文件和预编译库。请注意,CGAL项目不对本网站提供的文件负责。当CGAL 5.5.1发布时,Boost的最新版本是1.71。Boost的典型安装包括以下步骤:
下载并运行boost_1_71_0-msvc-XX.Y-64.exe文件。Y = 14.0 for VC 2015, XX。2017年,XX年Y = 14.1。对于VC 2019, Y = 14.2)。解压文件到一个新目录,例如c:\dev\libboost_1_71_0。设置以下两个环境变量,分别指向库和头文件的路径:
BOOST_LIBRARYDIR = C:\dev\libboost_1_71_0\lib64-msvc-XX.Y
BOOST_INCLUDEDIR = C:\dev\libboost_1_71_0
因为这将帮助cmake找到Boost。将Boost dll (C:\dev\libboost_1_71_0\lib64-msvc-XX.Y)文件的路径添加到path环境变量中。
我们假设您已经下载了使用CGAL安装程序的示例。
在使用CGAL构建任何东西之前,您必须选择编译器/链接器,设置编译器和链接器标志,指定您想使用的第三方库以及在哪里可以找到它们。收集所有这些信息被称为配置,我们使用CMake作为配置工具(有关支持的最小版本的更多信息以及从哪里下载它,请参阅CMake节)。
这个过程的结束标志着生成一个Visual c++解决方案和一个项目文件,您可以用它来构建您的程序。
C:\dev\CGAL-5.5.1> cd examples\Triangulation_2
C:\dev\CGAL-5.5.1\examples\Triangulation_2> mkdir build
C:\dev\CGAL-5.5.1\examples\Triangulation_2> cd build
C:\dev\CGAL-5.5.1\examples\Triangulation_2\build> cmake-gui ..
命令cmake-gui启动cmake的图形界面。当你按下配置按钮时,你必须:
指定生成器,例如,Visual Studio 16 2019),以及指定一个可选平台(如果您想创建64位二进制文件,则指定x64。配置完成后,在cmake-gui中勾选Advanced和Grouped。您将看到头文件和库的来源条目。如果不需要调试,则应该将变量CMAKE_BUILD_TYPE设置为Release。
一些CGAL包还有其他依赖项。例如,在上面的配置过程中,您可能已经观察到以下消息:
NOTICE: The example draw_triangulation_2 requires Qt and will not be compiled
CGAL是一个算法和数据结构库,因此不依赖于Qt,但是,其中一个例子只是为了可视化目的。要么你已经安装了Qt,可以填写请求的CMake变量,要么你必须安装它。典型的Qt安装包括以下步骤:
在https://www.qt.io/download上下载并安装Visual Studio版本的开源开发包Qt库(这里是到离线安装程序的直接链接)。添加环境变量QTDIR指向你安装Qt的地方,例如,C:\dev\Qt\Qt5.13.1,因为这将帮助cmake找到Qt。添加Qt的bin目录,例如将C:\dev\Qt\Qt5.13.1\msvcXXXX_YY\bin添加到PATH中,其中XXXX_YY类似于vc2017_64。为了避免与来自其他文件夹的同名dll发生冲突,请将此路径添加为列表中的第一个路径。
一旦您安装了Qt,当您按下CGAL目录中的Configure时,有关Qt的CMake变量现在应该被填充了。对于其他依赖项,您必须遵循类似的过程(有关第三方库支持的版本以及下载链接的信息,请参阅编译器和第三方依赖项页面),并在CMake界面中填充缺失的信息,直到配置成功(没有更多表示缺失依赖项的红线)。
配置过程成功后,点击Generate按钮,您将找到文件Triangulation_2_examples。在C:\dev\CGAL-5.5.1\examples\Triangulation_2\build目录下的sln。双击它以打开它。您将看到每个.cpp文件有一个项目。将它们全部编译,或者只编译你感兴趣的那个。
如果您使用cmake,那么配置和编译您自己的代码实际上与CGAL示例相同。运行cmake(或cmake-gui)需要一个CMakeLists.txt文件。CGAL的所有示例和演示都会自动提供这个文件。对于您自己的程序,建议您查看您正在使用的包的示例文件夹中的CMakeLists.txt文件,以学习如何指定CGAL和其他第三方依赖项。
CGAL提供了一些演示,为一些CGAL算法提供图形用户界面。所有预编译的演示都可以在Package Overview页面上下载。在右边的列中提供了两个链接:演示本身(在Windows demo下)和一组dll(在Common demo dll下),其中包含dll文件,必须放在与演示的.exe相同的目录中。例如,参见3D凸包包。
从官网下载对应的预编译库,只需要简单配置,便可以使用CGAL进行项目处理,比原来的CGAL易使用程度提高了许多。接下来,作者会抽一定的时间来撰写CGAL的使用教程。