整体过程:已安装好所需软件->CMake配置与生成->visual studio项目生成与调试->产生.exe可执行程序。 需要提前安装好的:PCL点云库,Qt5,CMake3;下载好cloud compare源码 刚开始的文件目录: build是要生成的项目路径;【CMake之后会在这里生成.sln项目,可以用visual studio打开】 prefix作为编译的目录。cc最后会安装在这里 点击configure 选择x64 第一次点击configure之后的图片 对QT5_ROOT_PATH进行设置 CMAKE_INSTALL_PREFIX 为cmake内置变量,用于指定cmake 执行install目标时,安装的路径前缀。 我这里需要用到PCL,勾选对应项。之后再点击configure。 都配置好之后全部是白色的。 点击generating之后生成项目,可以用过visual studio打开对应的.sln项目。 ALL_BUILD右键,生成。需要等待几分钟。 生成好之后点击CloudCompare,右键,设置为启动项目。 之后右键,调试,启动新实例。【也可以直接点击上方绿色箭头-本地windows调试器】 系统会提示类似上述所示,显示丢失 QCC_IO_LIBd.dll ,QCC_IO_LIBd.dll,CC_CORE_LIBd.dll这几个.dll文件。 解决方法如下:【复制到这里是因为我的cc输出目录默认就是这里,可以通过cloud compare->右键->属性->配置属性-常规-输出目录进行查看】 Build\libs\qCC_db\Debug\QCC_DB_LIBd.dll文件复制到Build\qCC\Debug下。 Build\libs\qCC_io\Debug\QCC_IO_LIBd.dll同上。 Build\CC\Debug\CC_CORE_LIBd.dll同上。 以上就是启动后的图片,但是没有看到pcl插件。 同理ccViewer也可以正常打开。 INSTALL,右键,生成 生成成功后更改cloud compare属性里的的输出目录,更改到cc\prefix\CloudCompare_debug下。再运行实例此处pcl插件可以正常使用。下图是.pcd点云数据的可视化。 在D:\CloudCompare-2.11.3\prefix\CloudCompare_debug目录下双击cloudcompare.exe运行程序也可以看到pcl插件。并且其目录中可以看到pcl相关的.dll文件。正因为含有pcl相关动态库文件,所以cloud compare的输出目录改到这里才能正常应用pcl插件。
至此cloudcompare的源码编译就完成了,并且可以将pcd文件拖拽到cc窗口,进行相应数据的点云可视化,但是还是有一些疑惑。 比如cmake中build和install的关系?为什么在ALL_BUILD生成之后cc在build\qCC\Debug文件夹中,而INSTALL生成之后就在prefix文件中了?为什么install之后才看到pcl相关.dll文件在prefix文件夹内?为什么会是这样的生成关系,因为笔者对CMake处于初学阶段,在CMake基础,关于cloud compare源码编译过程的解释这篇文章讲述大概缘由。
参考链接: CloudCompare2.11.1编译与运行 CloudCompare源码编译 vs2017+cmake 3.13编译 CloudCompare介绍——(一)源码编译 VS2013下CloudCompare的编译 Compilation of CloudCompare 2.11+ Compilation for the 2.6 or earlier versions
|