博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

vs2005下配置cgal3.5

Posted on 2013-03-06 13:20  漫游GIS  阅读(527)  评论(0编辑  收藏  举报

环境:

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

  • 用这组组合按以上配置不会报错