2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

XcodeでPCL(Point Cloud Library)

Posted at

PCL(Point Cloud Library)をXcodeで開発するケースはあまりないかもしれませんが、普段持ち歩いているMacと慣れたXcodeで開発したかったので、その時のインストール方法と環境構築をメモしておきます。

環境

Mac OS X El Capitan 10.11.6
Xcode 8.2.1
Point Cloud Library 1.8.0
vtk 8.0.0

インストール

sudo brew update
sudo brew tap homebrew/science
sudo brew install -vd boost Eigen flann vtk
sudo brew install -vd pcl --without-openni --with-examples

boost, Eigen, flann, vtkは必須。cmakeがなければ事前にインストールする。
他にもオプションでQt、QHULL、OpenNI、libusb等あるが、必要に応じて追加する。

Xcodeの設定

  1. 新規プロジェクト -> macOS -> Command Line Tools -> Language: C++ でプロジェクト作成。

  2. TARGETSのBuild SettingからHeader Search Pathsに以下を追加。

    /usr/local/include/pcl-1.8 
    /usr/local/include/eigen3
    /usr/local/include
    /usr/local/Cellar/vtk/8.0.0/include
    
  3. Library Search Pathsに以下を追加。

    /usr/local/lib
    /usr/local/Cellar/vtk/8.0.0/lib
    /usr/local/Cellar/boost/1.64.0_1/lib
    
  4. TARGETSのBuild PhasesからLink Binary with Librariesに以下を追加

    OpenGL
    Cocoa.framework
    IOKit.framework
    libz.tbd
    /usr/local/Cellar/vtk/8.0.0/lib/libvtk*.dylib 
    /usr/local/Cellar/pcl/1.8.0/lib/libpcl*.dylib
    

libvtk*.dylibとlibpcl*.dylibは全部選択しているが、必要な機能だけに絞ったほうが良い。Link Binary with Librariesの代わりにBuild SettingのOther Linker Flagsで設定でもOK(むしろこっちが良いかも)。

-lpcl_common -lpcl_visualization -lboost_thread-mt -lpcl_io -lpcl_filters 

ビルド&実行

チュートリアルなどからサンプルソースを適当にとってきて、main.cppにペースト。
cmd-b ビルド 
cmd-r 実行

参考

Installing on Mac OS X using Homebrew
http://www.pointclouds.org/documentation/tutorials/installing_homebrew.php

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?