关于cmake编译

本文详细记录了使用CMake编译PCL库的过程,包括理解CMAKE_INCLUDE_PREFIX选项、环境变量配置、错误排查以及编译后的库文件管理。作者强调了在编译时注意设置正确的路径,避免将库文件安装到默认的C盘位置,并分享了解决CUDA相关问题的经验。此外,还介绍了如何处理VS中编译错误,特别是针对boost库的依赖问题。最后,提到了Qt库目录添加的注意事项。
摘要由CSDN通过智能技术生成

(cmake编译之前一直有点迷,通过PCL的源码编译多了点经验,记录下。)

  1. cmake编译出来的include、lib、bin(在build文件夹中),直接复制到源码中替代源码中的三个文件夹。(所以在cmake编译时,注意“cmake”中CMAKE_INCLUDE_PREFIX选项,默认设置到C盘,可以改到build或源码文件家中,里面编译出的文件备用参考编译1,步骤19。或者直接存到一个新建文件夹xxx_prefix备用,参考编译2

  2. 关于环境变量配置
    将新安装的库bin文件夹加入到“path”中
    还有一些也可以直接加到“系统变量”里,方便cmake查找。比如:
    BOOST_INCLUDEDIR       D:\softWare\PCL\PCL_1.12.1\3rdParty\Boost\include\boost-1_78
    BOOST_LIBRARYDIR       D:\softWare\PCL\PCL_1.12.1\3rdParty\Boost\lib
    BOOST_ROOT       D:\softWare\PCL\PCL_1.12.1\3rdParty\Boost

  3. PCL编译
    编译中参考教程:
    主要参考教程
    提供了cmake过程中很多路径参考。
    次要教程
    (学到了CUDA在kinfu编译中可能重要,所以重装了CUDA)
    编译中遇到的问在主要参考教程中解决
    (1) 编译PCL源码时,很多第三方库在安装PCL.exe时已经下载,直接用上就好(将相关bin文件加到path中。添加系统变量,步骤2就是在教程中学到的。)
    (2)cmake编译时,出现cuda toolset报错,重装CUDA
    (3)检查cmake中关联库的的路径设置,一般在环境变量path和系统路径中设置好后,cmake可以直接找到。
    (4)最后一个坑,在vs中编译源码时,出现报错PCL “boost/mpl/assert.hpp”: No such file or directory pcl_cuda_segmentation
    因为项目有很多子项目,找到一个系项目,添加附加包含目录,生成通过。但是为"ALL_BUILD"添加上,还是通不过。解决办法,找到报错的子项目(切换报错模式就能看到),为报错的子项目添加缺少的包含目录(PCL中是boost报错)。

  4. 代码运行
    (代码报错google更靠谱)
    qt再添加库目录时,只能一个一个加(太操x了),可以利用简写格式_*。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值