这篇文章并不算是完全原创,只是原帖中没有提到的一些问题我进行了补充。
我的整个编译过程参考的是PCL中国论坛上的一位前辈的帖子,链接如下。但是在我编译的过程中也遇到了一些问题,原帖并没有提及,所以记录下自已遇到的问题。原帖是编译64位程序,我是在win7 64位旗舰版上编译32位cloud compare。
http://www.pclcn.org/bbs/forum.php?mod=viewthread&tid=383
官网上官方教程地址:http://www.danielgm.net/cc/doc/wiki/index.php5?title=Compilation_CMake
依赖库:
安装QT(CC官网的文档上讲推荐用Qt5,但是同时也支持Qt4.8。注意安装x86版本,可以直接使用PCL官网上的Qt版本,链接可以参考我前边编译PCL的文章);
PCL(32位,自己编译的1.7.2,编译过程可以参考http://blog.csdn.net/wstcdy0069/article/details/40400387)
LIBLAS(直接安装OSGeo4W)链接:http://trac.osgeo.org/osgeo4w/
下载cloudcompare源码包:http://www.danielgm.net/cc/
过程:
1.安装依赖库。安装Qt的时候注意在系统中添加环境变量。添加环境变量可以百度很简单。没有添加Qt环境变量就cmake的话会报错(如下图),在这种情况下添加Qt的环境变量之后要关掉cmake-gui,然后再打开。否则你重新按configure一样还是报这个错,我就在这里卡了很久。
在安装OSGeo4W时,一般都是通过那个在线安装程序安装的(安装x86版本),在安装的时候注意一定要选择liblas,默认是skip的。我第一次安装的时候就是默认安装所以在OSGeo4W里找不到liblas。不想安装OSGeo4W的可以,自己编译liblas网上有很多教程,但是我没有自己编译。
2.使用CMake编译cloudcompare(注意,CMake的Name框中CMAKE点开后可以设置最后生成的exe及相关DLL文件路径);
点开OPTION,选择需要的依赖库
CMake无法找到LIBLAS路径,需手动添加
设置好后Configure,Generate,生成VC2010工程文件
用vs2010编译,选择Install,默认是不选的,选了这个之后才会最后生成饿的exe文件及相关的dll文件都会集中在一个目录下,目录的设置参见CMake中的路径,
编译的时候还会出一个问题,CC_CORE_LIB的项目下的DgmOctree.h文件中#include “CCPlatform.h",找不到这个文件。
很诡异,我在源码里找到这个文件,然后在这个项目添加了包含目录,发现还是找不到。
最后我找到其他能够找到的头文件目录,把CCPlatform.h文件放到那个目录,成功编译。