配置CGAL4.2+boost1_50+cmake2.8+Qt4.8.4+win7,以及运行配置CGAL自带Polyhedron demo

来源:互联网 发布:广东省五金出口数据 编辑:程序博客网 时间:2024/06/13 02:09

折腾CGAL折腾了4天,本菜鸟简直心力交瘁,同时真心地向给过帮助的同学致谢。

为了使用CGAL下的三维模型布尔操作的功能,毅然地走上了windows+CGAL这条不归路。之前在linux下运行过CGAL自带的demo:Polyheron,包含了我要用到的一些功能,所以在windows装CGAL的终极目标也就是运行polyheron。

首先不得不说,CGAL依赖的东西也太多了,朱同学这篇博客给了我很大的帮助,照着里面的英文原帖,我顺利地在我的笔记本上装了CGAL.。

朱同学博客:http://blog.sina.com.cn/s/blog_6d68e6090100m6rc.html

英文原帖:http://acg.cs.tau.ac.il/cgal-at-tau/installing-cgal-and-related-programs-on-windows

值得一提的是我的笔记本是32位的,和英文原帖中一样,所以很顺利。而我的台式机是64位的,一直编译不过,无奈下装CGAL的时候选了32bit,终于顺利装过。

 

下面说一下我所遇到的一些问题:

1、在cmake CGAL的时候,一直显示Boost_DIR是BOOST_NOT_FOUND,而cmake的输出确实显示已经找到了boost version1_50,并且我手动设置这个变量,只要一configure,就会变回not found。这个问题困扰了我一天,最终也没有解决。汗一个。我找了很多资料,看了很多论坛,只有orge的论坛一个帖子比较靠谱,结论是可能是cmake的一个bug,或者在CGAL的cmakelist.txt里面,本身就没有去找BOOST_DIR。这个问题按下不表,cmake之后,CGAL里的几个工程都是可以build过的。

2、然后说说demo的编译,很多demo在cmake之后,确实生成sln,build都能过,但是只要运行,就有can't start program"can't find ****"什么的问题。

2.1、 刚开始我没有仔细地看cmake polyhedron的输出,事实上,这一步就已经出错了,生成的sln没有包含所有的工程。仔细看了cmake输出,发现首先,没有找到eigen3,于是在cmake中add entry,按照输出提示,加了EIGEN_VERSION_OK和EIGEN_INCLUDE_DIR两个entry,加了这两个后再configure,再看cmake输出。

2.2、新问题:cmake提示:没有找到qglviewer,所以不会编译某些工程。

解决方法:qglviewer源代码:http://www.libqglviewer.com/download.html,不要选择install版本,下载源代码自己编译,生成lib和dll文件备用。

在cmake的界面中,显示了几个关于qglviewer的参数都是not found,把编译好的lib文件手动设定好,然后在VS安装路径下新建了QGLViewer文件夹(D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\QGLViewer),把qglViewer的头文件都放进去,把生成dll放到system32目录下,把lib放到\Microsoft Visual Studio 10.0\VC\lib\下。再configure和generate。

此时再打开生成的ALL_BUILD.vcproj,有五十几个工程了。先build,然后右击polyhedron_3,选择set as startup project。运行,又出现问题。

2.3、Qt版本问题。程序显示:无法定位程序输入点_Z5qFreePv 于动态链接库 QtCore4.dll。这个问题我没有解决,按照网友所说,这是因为QT的版本冲突,把QT文件夹的路径放在环境变量中PATH的第一个,证明是没用的,把这个dll放在我的exe路径下,也是没用的。无奈下我用了debug模式,这下没有这个问题了,猜想是Qt_Core4d.dll没有冲突。

2.4、下个问题,缺少一系列的dll,这个好解决,我一一找到,并把它放到polyhedron.exe所在的路径下。有人说怎么不把这些文件直接设到环境变量里,可是我确实设了,它依然没找到。。。

 

最后,终于成功运行除了界面,功能也都正常运行了,不知道怎么加图片。。。算了。。。撒花撒花~~

 

 

 

原创粉丝点击