Mac配置PCL项目 Xcode创建PCL工程 超详细,一步到位

本文详细介绍了如何在Mac上配置PCL项目,从预安装Xcode、homebrew、PCL和cmake开始,接着通过命令行生成可执行文件,并提供了CMakeLists.txt和pcd_write.cpp的代码示例。对于不熟悉命令行操作的读者,文章还给出了使用GUI版Cmake和Xcode创建PCL工程的步骤,确保读者能够轻松生成并运行PCL程序。
  1. Mac配置PCL项目:
    1. 预安装
    2. 生成
  2. 创建Xcode的PCL工程(更简单):
    1. 预安装
    2. 生成

 

 

1.1预安装:Xcode,homebrewpcl,cmake

1.2生成项目:参考 Use PCL in your own project:

然后使用terminal查询安装信息:

$brew info pcl

结果如此:

确定pcl安装完成;

注意:确定完cmake,pcl才进入生成。

2.用terminal生成可执行文件:

新建一个文件夹,里面包含两个文件。CMakeLists.txt 和 pcd_write.cpp 。

CMakeList.txt 如下,各行解释(英文):

cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(MY_GRAND_PROJECT)
find_package(PCL 1.3 REQUIRED COMPONENTS common io)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pcd_write_test pcd_write.cpp)
target_link_libraries(pcd_write_test ${PCL_LIBRARIES})

pcd_write.cpp 如下,各行解释(英文):

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

int
  main (int argc, char** argv)
{
  pcl::PointCloud<pcl::PointXYZ> cloud;

  // Fill in the cloud data
  cloud.width    = 5;
  cloud.height   = 1;
  cloud.is_dense = false;
  cloud.points.resize (cloud.width * cloud.height);

  for (size_t i = 0; i < cloud.points.size (); ++i)
  {
    cloud.points[i].x = 1024 * rand () / (RAND_MAX + 1.0f);
    cloud.points[i].y = 1024 * rand () / (RAND_MAX + 1.0f);
    cloud.points[i].z = 1024 * rand () / (RAND_MAX + 1.0f);
  }

  pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud);
  std::cerr << "Saved " << cloud.points.size () << " data points to test_pcd.pcd." << std::endl;

  for (size_t i = 0; i < cloud.points.size (); ++i)
    std::cerr << "    " << cloud.points[i].x << " " << cloud.points[i].y << " " << cloud.points[i].z << std::endl;

  return (0);
}
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PCL_IO: /usr/local/lib/libpcl_io.so
-- Found PCL: /usr/local/lib/libpcl_io.so (Required is at least version "1.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /PATH/TO/MY/GRAND/PROJECT/build

 

两个文件完成,用terminal:

$ cd /刚刚/文件夹/的位置
$ mkdir build
$ cd build
$ cmake ..

结果如下:

-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PCL_IO: /usr/local/lib/libpcl_io.so
-- Found PCL: /usr/local/lib/libpcl_io.so (Required is at least version "1.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /PATH/TO/MY/GRAND/PROJECT/build

再:

$ make

Scanning dependencies of target pcd_write_test
[100%] Building CXX object
CMakeFiles/pcd_write_test.dir/pcd_write.cpp.o
Linking CXX executable pcd_write_test
[100%] Built target pcd_write_test

$ ./pcd_write_test

Saved 5 data points to test_pcd.pcd.
  0.352222 -0.151883 -0.106395
  -0.397406 -0.473106 0.292602
  -0.731898 0.667105 0.441304
  -0.734766 0.854581 -0.0361733
  -0.4607 -0.277468 -0.916762

至此,安装pcl以及测试pcl写文件都已完成。

下面进行更简单的生成Xcode的pcl项目。
上面命令行没看懂的,可以图形界面的更简单。

 

2.1预安装:GUI版的Cmake,然后使用homebrew安装PCL

2.2生成项目:

新建文件夹,里面包含两个文件。CMakeLists.txt 和 pcd_write.cpp。具体可参考上文。

打开cmake:

注意选择编译器(Xcode):

 

在新建文件目录下:有个.xcodeproj文件,打开,进入Xcode的界面,Command+b,编译,Debug文件夹中生成可执行文件。

用terminal,cd /到Debug/文件夹,然后: ./pcd_write_test 

完成,生成结果,简单。后面我就略略的讲了,不会的话再问我。

 

祝好。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值