CGAL配置的一点心得(各种错误的解决办法)

来源:互联网 发布:linux内核源码下载 编辑:程序博客网 时间:2024/06/05 15:33

这几天由于项目关系,花了些时间配置了一下CGAL,说实话走了不少弯路,谈谈我的心得吧,具体流程我不想讲,这种东西网上博客一搜一大把,而且都有一定的参考价值,当然最值得推荐的还是官网http://www.cgal.org/download/windows.html,如果不太想看英文可以看下这篇文章http://blog.csdn.net/milkpku/article/details/50241361我主要是想讲一下配置时遇到的报错该怎么解决。
1、Cmake编译CGAL报错(1):Boost_DIR或Boost_INCLUDE_DIR找不到,只需在CMake里修改Boost_INCLUDE_DIR路径,如下图所示:
只需要将路径修改为你的boost的安装目录就可以了这里写图片描述
2、Cmake编译CGAL报错(2)找不到boost库,如果有很多库都找不到那可能是你的Cmake版本太低了,可以试着换一个Cmake版本,如果只是一两个库找不到,如找不到boost_system库和boost_thread库,可以在你的boost安装目录下看看有没有相应的库,如果有则只需要添加其路径就可以了,如下图所示,(PS:网上有说将libboost_system-vc120-mt-gd-1_55.lib中的前缀lib删掉也可以找到,虽然有很多人试了可以成功找到,但后续如果编译boost库时还会出错,或者说这只是没有办法的办法,这些库文件的命名一般都有一定意义,所以一般不建议修改文件名)。如果没有那可能是你boost库编译不成功,boost库的安装可以选择形如boost_1_55_0-msvc-12.0-32.exe类型的文件进行安装,这种安装方法非常简便,俗称无脑式安装。
这里写图片描述
3、VS2013编译出错提示:Cmake编译成功后,会生成一个CGAL.sln的解决方案文件。在VS环境下打开这个文件,在debug,win32的条件下按F7进行编译,如果F7没有被设置成快捷键,可能是因为vs里默认的快捷键不是原来vc6的,这时候需要自己通过工具菜单里的那个选项把快捷键设置为vc6的快捷键配置就可以了。也可以右键解决方案,然后点击批生成,不好意思,废话有点多,回归正题,编译时出现如下情况:无法打开文件“libboost_system-vc120-mt-sgd-1_55.lib的解决办法,这是编译boost生成的静态库,首先先检查你的boost库里面有没有这个文件,如果有,就把所在的库的目录添加到添加到库目录里面,如还是显示找不到,则把这个库文件的最直接路径添加到库目录当中就可以解决了,当然你还要配置其运行库集配置类型也要相对应(与后面动态库配置类似)如图所示:
这里写图片描述
那如果没有应该怎么办呢,是不是一定是boost库编译不成功的原因?不一定,如果你的库里面libboost_system-vc120-mt-gd-1_55.lib,那说明你可能只是将其编译成动态库了,boost有两种编译方式,一种是编译静态库,一种是编译成动态库,静态库的命名上只比动态库多了一个s,虽然只有一字之差,但实际文件的调用时差异却很大,这里不再赘述,总之不要妄想用重命名的方式将静态库改成动态库,反之亦然。如果将其编译成动态库该怎么解决呢,(1)你可以试着再编译boost生成静态库(2)你也可以改用动态库,如改用动态库,首先还是像上述一样,添加路径,再将运行库改为多线程(DLL),如下图所示:
这里写图片描述
这里写图片描述
配置类型改为动态库(.DLL),如图所示
这里写图片描述
水平有限,可能有些地方说的不对,希望大家批评指正。

原创粉丝点击