简单编写CMakeLists.txt找到相应库并运行代码

1.创建cpp文件,创建CMakeLists.txt文件,build文件夹,以及1.pcd文件

在这里插入图片描述

2.直接编写readpcl.cpp文件

#include <iostream>
#include <pcl/io/pcd_io.h>
#include <string>

using namespace std;

int main(int argc,char **argv)
{
    string pcd_file="../1.pcd";
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
    pcl::io::loadPCDFile(pcd_file,*cloud);
    for(int i=0;i<cloud->points.size();i++)
    {
        cout<<cloud->points[i].x<<" "<<cloud->points[i].y<<" "<<cloud->points[i].z<<endl;
    }

    return 0;
}

3.(重点)开始编写CMakeLists.txt文件

常规操作

cmake_minimum_required(VERSION 2.8)//常规操作
project(readpcl)//常规操作

因为代码中#include <pcl/io/pcd_io.h>,所以需要通过include_directories包含pcl库。
可以选择直接包含pcl库的位置(就是不写find_package了,直接include_directories(pcl的位置)),也可以选择间接包含pcl库的位置(下面介绍这种方式)
为了找到pcl的位置,使用命令

locate pcl | grep camke

然后肉眼找xxxConfig.cmake文件
在这里插入图片描述
之后将xxx按本身大小写写入find_package,find_package就会返回库的位置(xxx_INCLUDE_DIRS)以及返回这个库所需要的依赖包(xxx_LIBRARIES)

通过打开cmake文件

sudo gedit xxxConfig.cmake文件的完整路径

可以看到xxx_INCLUDE_DIRS以及xxx_LIBRARIES的大小写写法,然后各自填入include_directories和target_link_libraries就可以了
在这里插入图片描述

find_package(PCL REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
add_executable(readpcl readpcl.cpp)
target_link_libraries(readpcl ${PCL_LIBRARIES})

4. 之后就简单地进入build文件就可以编译运行了

cd build
cmake ..
make
./readpcl 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值