windows安装CGAL

我的基本配置是windows 7, Visual Studio 2015, 安装的cgal4.9,其他库都是最新版本cmake 3.7,Qt 5.8,boost 1.6。

我主要参考了一篇中文博客http://blog.csdn.net/u012876599/article/details/51602101 和官方的教程http://www.cgal.org/download/windows.html

另外有篇博客也值得参考 http://acg.cs.tau.ac.il/cgal-at-tau/installing-cgal-and-related-programs-on-windows


1,安装CMake和QT

CMAKE:  https://cmake.org/

QT: https://www.qt.io/download/

这两个库安装起来都比较简单,跟着官网步骤走就可以,我直接都下载的最新的版本。但是QT装完之后要加环境变量(system environment variable)到系统中,第一步是加C:\Qt\Qt5.8.0\5.8\msvc2015_64\bin到path, 第二步是新建一个环境变量QT_DIR,设置变量值为C:\Qt\Qt5.8.0 。这个安装版本不同安装路径会略有差异。


2,安装boost

我主要根据上面提到的中文教程进行安装的boost库。 然后要添加系统环境变量。我加了三个BOOST_ROOT:C:\boost_1_63_0,  BOOST_INCLUDEDIR:C:\boost_1_63_0\stage\lib和BOOST_LIBRARYDIR:C:\boost_1_63_0, 同时往path中添加C:\boost_1_63_0\stage\lib;



3,CMAKE

打开cmake gui就可以build CGAL工程了,因为我是用VS2015, 所以我就选择VS2015 compiler,但是我的cmake找不见我的VS2015 compiler,所以我是直接从命令行运行cmake,打开你从网上下载的cgal的文件夹,在文件地址栏输入cmd,可调出命令行, 然后输入cmake CMakeLists.txt 就可以了。如果前面那些prerequisite库都安装成功,环境变量也没有漏掉,就可以成功生成vs sln。


4, VS15 

打开上一步生成sln,进行编译。我当时遇到一个问题fatal error LNK1112: module machine type x64 conflicts with target machine type 'X86'

因为我的下载的库都是64位的,但是cmake生成的sln都是默认用X86的进行编译,所以这里要改下配置,Properties > Configuration Properties > Linker > Advanced > Target Machine. Select MachineX64。以及Project Properties -> Configuration Properties -> Linker -> Command line.

"Additional Options" should NOT contain /machine:X86

5,把CGAL也加入到环境变量CGAL_DIR: C:\dev\CGAL-4.9,同时向path中加入新的值C:\dev\CGAL-4.9\bin;C:\dev\CGAL-4.9\auxiliary\gmp\lib;C:\dev\CGAL-4.9\lib


6,Test

新建一个自己的工程,建立一个属性表,对于这种配置比较麻烦的工程,我一直提倡建一个属性表,以后可以直接把属性表加上去就可以了。

一共要设置

Linker ->general ->Additional Library Directories

C:\dev\CGAL-4.9\bin;C:\dev\CGAL-4.9\auxiliary\gmp\lib;C:\dev\CGAL-4.9\lib;C:\boost_1_63_0\stage\lib;


C++->General->Additional Include Directories

C:\dev\CGAL-4.9\auxiliary\gmp\include;C:\dev\CGAL-4.9\include;C:\boost_1_63_0;


Linker->Input->AdditionalDependencies

kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;CGAL-vc140-mt-gd-4.9.lib;CGAL_Qt5-vc140-mt-gd-4.9.lib;CGAL_ImageIO-vc140-mt-gd-4.9.lib;CGAL_Core-vc140-mt-gd-4.9.lib;libgmp-10.lib;libmpfr-4.lib



最后的最后,我又遇到了一个问题,显示一个库文件无法load,我导师说你应该检查一下dll和lib的timestamp是不是一致,我检查了之后发现这两个果真不一致,于是重新编译了一遍cgal,发现这个bug就解决了。导师万岁!


你可能感兴趣的:(windows安装CGAL)