CGAL window 10安装、Demo使用步骤以及问题解决记录

由于需要进行三维数据优化,提高显示性能,初步计划使用CGAL(The Computational Geometry Algorithms Library,计算几何算法库)优化,开发环境定在了win10,且使用vs2015,所以在win10安装了CGAL。由于CGAL需由Linux平台移植到window,linux又不是很熟悉,无奈遇到很多问题,从网上搜索答案,不是没有相关解答,就是头疼的一堆英文不知所云。最终摸索着终于使CGAL自带的demo可以运行,记录下步骤以及问题解决,以防后面忘记。
安装软件版本:
1:CGAL-4.11-beta1
2:cmake-3.9.1-win64-x64
3:boost_1_65_0
4:qt-opensource-windows-x86-msvc2015_64-5.7.0.exe
其他:根据不同的demo使用的库不一样,所以有一些其他的库需要安装,例如libQGLViewer-2.6.4,OpenGL,eigen等

这是4个主要的安装顺序按照 2、3、4、1,版本的选择很重要,按照机器的32位或64位、以及使用的VS去下载,保持版本与环境可以对的上,另外各软件版本时期尽量一致,以免遇到未知问题(我在安装的时候遇到了一个因为cmake版本较低,boost版本高,导致cmake中Findboost.cmake中没有boost的版本号,报错boost找不到)。

软件具体的安装步骤就不在详细记录了,网上可查的步骤信息很多,在此主要记录下一些环境变量的设置,由于前后解决问题的混乱,添加了很多环境变量,不知道是否有用,在此都记录下来,遇到问题的朋友可以多设置试试。
1:cmake相关
cmake的安装比较简单,下载对应机器位数的cmake,解压应该就可以使用了。环境变量未设置。
2:boost_1_65_0
我这边boost的版本boost_1_65_0-msvc-14.1-64.exe,可以看到由于我使用的是vs2015,所以对应msvc-14.1,后面是64位机器。因为boost也是以一个非常基础常用的c++库,所以我直接使用的默认目录放在了C盘下(C:\local\boost_1_65_0)。
回看下来boost我竟然也没有设置环境变量,cmake时boost_dir是可以找到这个路径的,想来应该是新版的cmake有寻找boost文件夹的功能(旧版的需要设置版本号,被坑了一把)
3:qt相关
版本:qt-opensource-windows-x86-msvc2015_64-5.7.0.exe,线下安装版,64位,vs2015适用。安装qt过程简单,但最后与Qt连接是遇到问题最多的,下面问题记录多个也是和qt相关。
环境变量:Path中添加C:\Qt\Qt5.6.2\5.6\msvc2015_64\bin;C:\Qt\Qt5.6.2\5.6\msvc2015_64\lib,这两个我最开始没有添加,一直显示Qt相关的东西找不到,添加后问题解决,所以如果有朋友一直报错Qt相关的的错误,可以检查下是否设置了这两个目录
用户变量:Qt5_DIR  :C:\Qt\Qt5.6.2\    QTDIR : C:\Qt\Qt5.6.2\5.6\msvc2015_64\        这两个是我最开始添加的,但是cmake时候Qt相关还是一直报错,不确定是否必须。
4:CGAL
版本:CGAL-4.11-beta1-Setup.exe,安装时选择的对应机器位数。作为算法库我也采用了默认目录,放到了c盘(C:\dev\CGAL-4.11-beta1),exe程序按步骤安装。
由于CGAL是linux平台的,在window使用需要cmake转一下,再用vs编译输出lib和dll使用,cmake会使用到很多环境变量,这些环境变量设置存在才能正确便已使用。
由于是CGAL的编译最要紧,我一条一条拆开写。这些环境变量有些是cmake用到的,有些是后续编译或是demo运行用到的,由于我自己尝试的时候也是混乱顺序的,所以在此全部写下来。
环境变量:Path:C:\dev\CGAL-4.11-beta1\include    这个看了看,里面是CGAL库的各种头文件包含,后续各种demo中都可以看见类似#include ,指向的应该就是该文件夹,故需添加该环境变量
Path:C:\dev\CGAL-4.11-beta1\auxiliary\gmp\lib  这个是gmp和mpfr的lib目录,应该是cmake编译有用到gmp、mpfr,有提示该库找不到,我添加上去的,后续demo是否有用到暂时不清楚。
用户变量:CGAL_DIR : C:\dev\CGAL-4.11-beta1  这个变量是我最开始用cmake转换CGAL时添加的,一开始找不到CGAL目录,添加这个用户变量之后解决
CMAKE_MOUDLE_PATH:  C:\dev\CGAL-4.11-beta1\cmake\moudles  这个文件夹里面可以看到许多.cmake文件,是用来寻找各个库的,我这里很早设置了这个用户变量,但是在刚开始cmake的时候还是会提示找不到类似FindCGAL.cmake,没办法有使用cmake-gui的add Entry功能再次添加了这个变量才通过的。但是不知道改动了哪,最后几次执行cmake时,又不用通过add Entry添加这个目录了(搞不懂)。

上述目录设置后应该可以执行cmake的configure,应该不会再出现Qt5、boost以及gmp相关的报错了,有就再分析吧。。。


我在cmake选的build路径就在C:\dev\CGAL-4.11-beta1\build, generate之后,进入vs编译工程,然后再次添加环境变量。

环境变量:Path:C:\dev\CGAL-4.11-beta1\build\lib;C:\dev\CGAL-4.11-beta1\build\bin   

这两个是编译出来的库文件,后续Demo的运行会用到,Release和Debug都在这两个文件夹里,lib有4个文件CGAL_Core-vc140-mt-4.11.lib;  CGAL_ImageIO-vc140-mt-4.11.lib ;CGAL_Qt5-vc140-mt-4.11.lib; CGAL-vc140-mt-4.11.lib(对应还有4个Debug需要的lib文件),dll也是4个后缀改为dll。这四个文件在前面配置不对的时候可能会少,我最开始就是Qt未配置正确,这的文件少一个qt相关的文件,导致我后续demo用cmake生成的工程一直是空的工程。

5:OpenGL
由于后续编译Demo,在cmake转换工程时,一直报错OpneGL库找不到,查找了好久,大概发现原因,是win 10 还是vs2015导致库混乱。
两个dll在C:\Windows\System32 ;C:\Windows\SysWOW64 这个都是统一的。
头文件和lib放置位置就比较多样,我也分不清具体放哪个,这个可以查找资料,我这也是根据网上的资料,在多个可能的位置都放了一遍,最后编译通过了。再次列举下目录:
头文件:C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl
C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\um\gl
H:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\gl  (H目录是我的VS安装目录,不知道遇坑很多是否和这个有关)
lib文件:C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64;C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x86
H:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib
6.libQGLViewer-2.6.4
我运行的demo与这个库相关,下载libQGLViewer-2.6.4.zip,解压缩将文件夹放到C\:dev下,文件结构C:\dev\libQGLViewer-2.6.4,C:\dev\libQGLViewer-2.6.4\QGLViewer
环境变量:Path添加:C:\dev\libQGLViewer-2.6.4\QGLViewer
用户变量:QGLVIEWERROOT:C:\dev\libQGLViewer-2.6.4
其他依赖库类似。


遇到的问题:

1.环境变量设置后不生效
这个我在实验的时候一直出现这个问题,后来无意中发现,环境变量设置完cmake-gui要关掉重新启动。
2.Findboost.cmake相关报错
cmake版本比较低,升级cmake版本
3.CGAL文件路径找不到
环境变量设置,并重启cmake
4.generate生成的工程为空
查看configure提示,最后应该有因为缺失某项库导致工程生成中断的提示,前面会有这个库的报错提示,解决这个提示工程应该正确。
5.cmake直接error ,Failed to run MSBuild command
设好build路径后点击configure后,弹出的生成器选择不符合vs和位数环境。
6.Demo Vs编译报错
缺少库设置,按报错完善库和环境变量设置
7,Demo编译报缺少../resources
应该是拷贝Demo到其他目录运行,原Demo目录有一个文件夹resources,里面有Demo需要的资源,需一并拷过去。


遇到很多的问题,其他大多数都是环境变量设置的问题,这里不再详细列举。

你可能感兴趣的:(CGAL)