环境:
n Vs2005 sp2
n Boost1.41 http://sourceforge.net/projects/boost/files/boost/1.41.0/
n Cgal3.5 https://gforge.inria.fr/frs/?group_id=52
n Qt4.8.4
n Cmake2.8.10.2 2013/3/6日是最新版本
安装过程
n 1、安装vs2005 sp2 略
n 2、安装boost1.4.1,
-
-
- 下载zip文件解压到一个文件夹,在命令行窗口进入解压的那个文件夹我的是直接在D盘 运行bootstrap.bat 如下图所示
-
l
-
-
- 文件夹下会多出如下文件
-
-
-
- 然后运行该程序,即可,有一些参数要设置,我的设置如下,经测试我的这个只是做了release版本,cgal下的示例程序debug版本不可用。
-
bjam install --toolset=msvc-8.0 --without-python --stagedir="D:\boost_1_41_0" link=static runtime-link=shared runtime-link=static threading=multi debug release
20130418添加:bjam stage --toolset=msvc-8.0 --without-python --without-mpi --without-wave --without-graph --without-math --without-serialization --stagedir="D:\boost_1_41_0" link=static runtime-link=shared threading=multi debug
-
-
- 这个过程持续很久,相当于是利用原有的.h,cpp文件,生成include文件和lib文件,放在相应文件夹下,相关参数可以查阅网上资料 搜索“编译boost”即可。完成大概20分钟左右结果是多了几个文件夹\
-
-
-
- 最后在环境变量中加入几个参数。1、path里面加入D:\boost_1_41_0; 2、加入一个boost_root变量,如下图
-
3、安装cgal3.5,
-
-
- 就一步步往下,中间选择vc8.0就好,环境变量一般已经加好了,如果没有加,操作如下
-
Path里面添加:C:\Program Files\CGAL-3.5\auxiliary\gmp\lib
在系统变量里面加入CGAL_DIR
n 4、安装qt 这个好像也没什么讲的,也是最后记得要加个path变量进去。我的是C:\Qt\4.8.4\bin;
n 5、安装和配置cmake
-
-
- 安装也会加个路径到path变量那里去,一般自动添加,安装完可以查看下
-
安装好一切就开始配置cgal程序了,配置过程如下
配置
n 1、把各种路径加到vs2005,总结如下:
//Include Files 包含目录:
C:\Program files\CGAL-3.5\auxiliary\gmp\include
C:\Qt\4.8.4\include
C:\Qt\4.8.4\include\QtCore
C:\Qt\4.8.4\include\QtGui
C:\Qt\4.8.4\include\ActiveQt
D:\boost_1_41_0
C:\Program files\CGAL-3.5\include
////库文件目录
C:\Program files\CGAL-3.5\auxiliary\gmp\lib
C:\Program files\CGAL-3.5\lib
D:\boost_1_41_0\lib
C:\Qt\4.8.4\lib
2、编译cgal库
-
-
- 先用cmake生成vs2005的项目
-
-
-
- 先configure在generate,我的配置比较顺利,直接成功生成了cgal.sln
- 打开cgal.sln,把各个项目设置成release版本,编译成功
-
n 3、运行例子程序
-
-
- 继续用类似的方法生成例子对应的工程文件,比如
-
-
-
- 生成之后也把debug版本改为release版本就可以看到结果了
-
碰到的问题及解决
1、cgal unable to match function definition to an existing declaration
http://cgal-discuss.949826.n4.nabble.com/Error-in-Delaunay-traingulation-2-h-td3063834.html
vs版本对应cgal出错,vs05对应cgal3.8,模板函数有问题,是编译器的bug。把声明与定义分开的函数放到一起就可以了。或者修改cgal3.5版本。
2、有一些变量不识别,错误如下:
解决:http://choorucode.com/2010/08/03/cgal-syntax-errors-on-intmax_t-and-uintmax_t/ boost版本不对,更换为1.41就好了
3、无法启动应用程序
原因:boost只编译了release版本
解决:把debug版本改为release版本即可
4、总结:大都是版本的问题,vs2005sp2下,本机用的各工具版本如下:
Cgal3.5
Boost 1.41
Qt4.8.4
Cmake2.8.10.2
- 用这组组合按以上配置不会报错