CGAL配置的一点心得(各种错误的解决办法)
2017-07-03 15:54
411 查看
这几天由于项目关系,花了些时间配置了一下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),如图所示
水平有限,可能有些地方说的不对,希望大家批评指正。
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),如图所示
水平有限,可能有些地方说的不对,希望大家批评指正。
相关文章推荐
- windows 2008初体验常见问题: 无线网络"没有正确配置为使用IP协议" 错误解决办法
- 配置OE常见错误以及解决办法『罗斌原创』
- APMServ错误解决办法:1、Apache启动失败,请检查相关配置
- 学习struts1.x心得(发生的错误解决办法总结)
- 配置Android开发环境常见错误解决办法(陆续添加)“your project contains error(s),please fix them before running your application”.
- php在iis上配置时报Fatal error: Call to undefined function mysql_connect() in 错误解决办法
- 安装IIS中各种错误解决办法
- tomcat 5.5 Cannot create JDBC driver of class '' for connect URL 'null' 配置数据源错误解决办法
- 无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
- 使用APMServ时出现“1、Apache启动失败,请检查相关配置。√MySQL5.1已启动。”错误的终极解决办法:
- php在iis上配置时报Fatal error: Call to undefined function mysql_connect() in 错误解决办法
- windows 2008无线网络"没有正确配置为使用IP协议" 错误解决办法
- APMServ错误解决办法:1、Apache启动失败,请检查相关配置
- SSL配置tomcat时出现 Keystore was tampered with, or password was incorrect错误的解决办法
- Infragistics NetAdvantage samples运行出现配置ASPNET帐户错误解决办法
- Tomcat 在配置完 SSL 后,IE 浏览器访问时Socket error caused by remote host异常错误信息的解决办法
- CentOS配置vsftpd遇到550错误的解决办法
- CentOS配置vsftpd遇到550错误的解决办法
- “无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装”最快的解决办法
- 配置错误,访问被拒绝,无法加载程序集的原因和解决办法