配置CGAL需要的环境:VS2013含 update5(必须,否则使用boost库时,会出现C1001:编译器中发生内部错误)、Cmake、Boost、QT、libQGLViewer。本文配置的环境用于开发32位程序,所以对于的库安装文件都选择32位(x86)版本。如果想要开发64位程序,选择对于的64位(x64)版本安装程序
将VS2013直接升级到update5,更新包安装器下载地为为https://www.microsoft.com/zh-cn/download/details.aspx?id=48129
但是个人不建议,直接在VS2013中升级到update5,过程很慢,而且会报错,提示无法找到包源,图片如下:
下载一份完整cn_visual_studio_ultimate_2013_with_update_5_x86_dvd_6816649.iso 文件,离线安装,比更新快,而且能安装成功,下载后直接安装即可,已装有VS2013的,这次安装过程会把原来的覆盖掉,不会对VS有什么影响。下载地址为
ed2k://|file|cn_visual_studio_ultimate_2013_with_update_5_x86_dvd_6816649.iso|5567336448|641555AD6472A98923B29CC5E371461E|/(如果提示请先安装ed2k协议关联的应用软件,直接下个迅雷后,复制链接后,就回自动弹出下载框,下载即可)
下载地址https://cmake.org/download/
本文的Cmake版本是cmake-3.8.0-rc2,但有教程支出RC版不稳定。介意下非RC版。
刚开始一直不理解,cmake用来干什么,后来知道其实它是一个编译工具,功能类似于一个转换器,可以将一些文件转化生成.sln等(当然纯属现在小白级别的理解),以在vs中打开相关文件。
下载安装包后,安装程序。傻瓜式安装,需要注意的就是将cmake添加的系统路径中,以及修改安装路径。
下载地址:https://sourceforge.net/projects/boost/files/boost-binaries/
本文的BOOST版本是 boost_1_63_0-msvc-12.0-32(12 表示vs2013,10 表示vs2010, 11表示vs2012,32表示(x86)版本),直接运行.exe 文件即可。
网上也有压缩包版的boost 库,可用VS或cmd编译,也可以达到同样效果,但msvc 相较比较简单(其可参考http://www.2cto.com/kf/201701/584065.html)。
BOOST编译后,需要添加环境变量(计算机属性-高级-环境变量-系统变量中新建)以及路径
BOOST_LIBRARYDIR=D:\dev\boost_1_63_0\lib32-msvc-12.0
BOOST_INCLUDEDIR=D:\dev\boost_1_63_0
路径:D:\dev\boost_1_63_0\lib32-msvc-12.0
Qt下载地址:http://download.qt.io/official_releases/qt/
配置vs,还需要下载vs add in :http://download.qt-project.org/official_releases/vsaddin/
本文的Qt 版本是:qt-opensource-windows-x86-msvc2013-5.8.0(注意要32bit)
qt-vs-add in 版本是:qt-vs-addin-1.2.5,安装1.2.3版本,有时会出错。
以上两个属于傻瓜式安装,需要的话可以改路径,注意存放的文件夹名称不能有空格。
vs addin安装完成后会在vs里面多出一个Qt5菜单,进入Qt Options
在Qt Versions 中添加 新的Qt Versions,name可以随意如,qt 32bit等,但路径需要到bin以上一级。
安装好Qt后,需要添加环境变量和路径
QTDIR=D:\dev\Qt\5.8
path 中添加D:\dev\Qt\5.8\msvc2013\bin;为了不被其他影响,Qt 的路径最好放在path路径列表的最前面。
下载地址:http://libqglviewer.com/
本文libQGLViewer版本是libQGLViewer-2.6.4。(本文是在vs 中编译,也可在vs中的qt编译,参考请见http://www.cnblogs.com/woolongtea/p/3545134.html,本文曾尝试在qt 内编译,但未得到需要调用的动态库和静态库文件 QGLViewer2.dll 和 QGLViewer2.lib,值得再尝试)
将程序解压放入文件中后,打开 x86 Visual Studio Command Prompt 编译(程序-vs2013-VS tools中)
打开X86 窗口
输入cd d:\dev\libQGLViewer-2.6.3\QGLViewer(可直接拖相应文件夹),回车
输入 qmake.exe 回车
输入 namke 回车
等待编译成功后,即在QGLViewer中生成相应的库。并添加环境变量和路径
path:D:\dev\libQGLViewer-2.6.4\QGLViewer
QGLVIEWERROOT =D:\dev\libQGLViewer-2.6.4
下载地址:https://github.com/CGAL/cgal/releases(若网址进不去,可能需要)
本文CGAL安装版本:CGAL-4.9
下载 CGAL-4.9-Setup.exe 并安装,傻瓜式安装,需要注意的只有两点:1,选择32-bits(本文都是基于32bit)2,勾选用于全部使用者和添加路径
安装完后,将 (CGAL-4.9安装目录)\auxiliary\gmp\lib 加入到PATH
打开 CMake-GUI
d:\dev\CGAL-4.9 for source and d:\dev\CGAL-4.9\build as binaries
点击Condigure,选择 VS 12 2013 后开始编译,then 点击Generate
用VS2013 打开D:\dev\CGAL-4.9\build 文件下的CGAL.sln,分别在Debug and Release下生成。
最后在path中加入路径 D:\dev\CGAL-4.9\build\bin
CGAL中的example 不需要Qt 5或者libQGLViewer,安装完VS,Cmake,BOOST即可。
打开Cmake-Gui,,添加代码及设置生成文件,选定 VS 12 2013 后编译。
在相应的D:\dev\CGAL-4.9\build-examples\Modular_arithmetic文件中,用VS打开Modular_arithmetic_.sln 文件,重新生成Debug or Release folder。
在文件中找到可运行 .exe 文件。(一闪而过)
在Qt 5或者libQGLViewer 都安装好后,可编译CGAL中的Demo,过程如上,结果如下
1.本人属于程序小白,刚开始的时候,32bit(X86), 64bit(X64) 根本分不清。纠结于版本与版本是否会不兼容,后来发现版本不重要,一般都取最新版就可以了,但是一定要都是32 位的程序即X86,也可都是64位,只要所有保持一致就好,VS和Cmake没有这个区分。
2.最开始的BOOST库一定要建立在VS2013 update5 上,不然即使可以调用BOOST的其他函数,后面编译还是有问题,出现在fatal error C1001: common_type.hpp 的编译内部错误,且这个update5 的问题在其他教程上,几乎没有被提及,所以编译错误时,一直以为是其他环境的错误,导致走了很多弯路。
3.为了方便,本文将boost,qt,libQGLViewer,CGAL的库文件及头文件,放在相应的C盘system32及VS-VC-include文件下,主要是为了建项目的方便性,避免每次多在项目中添加库目录,包含目录等。
4.CGAL官网的指导步骤,可以指导安装过程的大方向,具体步骤可参考其他。CGAL官网地址:
http://www.cgal.org/download/windows.html