2015年2月22日日曜日

Point Cloud Libraryのインストール

 PCLのインストールとVC++でのプロジェクトの作り方を説明する。すでにいくつかのブログでも紹介されていたりするのでそちらも参照されるといいかも。Windowsが対象なのでバージョンは1.6.0。

まずはPCLのダウンロード先へいってPCL 1.6.0 All-In-One Installerをダウンロードして実行する この部分では基本的に「Continue」とかをおしておけばOK。結構時間がかかる。PCLのインストールそのものはよく考えれば記事にする必要なかった。

 VC++でのプロジェクトの作成について解説する。
 自分は用途関係なく全ての関連ファイルを入れておくことで、後から依存関係をいじる必要がないようにしている。そのため若干処理に時間がかかる。また環境によって動作のするしないは変わるので留意してほしい

プロジェクトの作成
  1.  「ファイル(F)」→「新規作成(N)」→「プロジェクト(P)」で画面を開く
  2. 表示された画面で「Win32コンソールアプリケーション」を選択、名前と場所は適当に設定する。 (今回作ったものを大元にして、あとのプロジェクトは「コピペ+名前変更」などを行うと依存関係の設定が不要になって楽なので「Template」とかにしておくといいかも)
  3. 「Win32アプリケーションウィザード」が表示されるので「次へ」を押す
  4.  「アプリケーションの設定」の画面になる。なにも選択しないで「完了」を押す。もし「空のプロジェクト」にチェックが入っている場合は外しておく
  5.  プロジェクトの作成はこれで完了

 次にプロジェクトの設定について解説する。この部分の設定を誤るとコンパイル中にエラーが出たりする。 要所々々で「適用しますか?」的なことを聞かれたらOKを押す

プロジェクトの設定
  1. VC++の「ソリューションエクスプローラー」内のプロジェクトの名前の部分(この場合は「Template」)を右クリックして一番下の「プロパティ」をクリックする
  2.  新しい画面が表示されるので左上の「構成(C)」の右にあるプルダウンリストから「全ての構成」を選ぶ
  3.  画面左側のリストから「構成プロパティ」を選択する
  4. 右側画面の「プロジェクトの規定値」の「文字セット」を 「マルチバイト文字セットを使用する」に変更
  5. 左側「構成プロパティ」→「C/C++」、右側「追加のインクルードディレクトリ」に
    C:\Program Files (x86)\PCL 1.6.0\include\pcl-1.6;
    C:\Program Files (x86)\PCL 1.6.0\3rdParty\Boost\include;
    C:\Program Files (x86)\PCL 1.6.0\3rdParty\Eigen\include;
    C:\Program Files (x86)\PCL 1.6.0\3rdParty\FLANN\include;
    C:\Program Files (x86)\PCL 1.6.0\3rdParty\Qhull\include\libqhullcpp;
    C:\Program Files (x86)\PCL 1.6.0\3rdParty\VTK\include\vtk-5.8;
    C:\Program Files (x86)\OpenNI\Include;
    を書き込む。*この部分はPCLをインストールした場所によって変わるので、PCLとOpenNIがインストールされた場所を確認して上記の項目を変更する。またバージョンが違ってることもあるので注意
  6. 左側「構成プロパティ」→「リンカー」、右側「追加のライブラリディレクトリ」に
    C:\Program Files (x86)\PCL 1.6.0\lib;
    C:\Program Files (x86)\PCL 1.6.0\3rdParty\Boost\lib;
    C:\Program Files (x86)\PCL 1.6.0\3rdParty\FLANN\lib;
    C:\Program Files (x86)\PCL 1.6.0\3rdParty\Qhull\lib;
    C:\Program Files (x86)\PCL 1.6.0\3rdParty\VTK\lib\vtk-5.8;
    C:\Program Files (x86)\OpenNI\Lib
    を書き込む。*この部分もPCLをインストールした場所によって変わるので、PCLとOpenNIがインストールされた場所を確認して上記の項目を変更する。またバージョンが違ってることもあるので注意
  7. 画面左上「構成(C)」の右にあるプルダウンリストから「Debug」を選択する
  8. 画面左「構成プロパティ」→「リンカー」「入力」、画面右「追加の依存ファイル」に
    pcl_apps_debug.lib;
    pcl_common_debug.lib;
    pcl_features_debug.lib;
    pcl_filters_debug.lib;
    pcl_io_debug.lib;
    pcl_io_ply_debug.lib;
    pcl_kdtree_debug.lib;
    pcl_keypoints_debug.lib;
    pcl_octree_debug.lib;
    pcl_registration_debug.lib;
    pcl_sample_consensus_debug.lib;
    pcl_segmentation_debug.lib;
    pcl_search_debug.lib;
    pcl_surface_debug.lib;
    pcl_tracking_debug.lib;
    pcl_visualization_debug.lib;
    flann-gd.lib;
    flann_s-gd.lib;
    flann_cuda_s-gd.lib;
    flann_cpp_sgd.lib;
    qhull6_d.lib;
    qhullcpp_d.lib;
    qhullstatic_d.lib;
    qhullstatic_p_d.lib;
    openNI.lib;
    OpenNI.jni.lib;
    NiSampleModule.lib;
    NiSampleExtensionModule.lib;
    MapReduceMPI-gd.lib;
    mpistubs-gd.lib;
    vtkalglib-gd.lib;
    vtkCharts-gd.lib;
    vtkCommon-gd.lib;
    vtkDICOMParser-gd.lib;
    vtkexoIIc-gd.lib;
    vtkexpat-gd.lib;
    vtkFiltering-gd.lib;
    vtkfreetype-gd.lib;
    vtkftgl-gd.lib;
    vtkGenericFiltering-gd.lib;
    vtkGeovis-gd.lib;
    vtkGraphics-gd.lib;
    vtkHybrid-gd.lib;
    vtkImaging-gd.lib;
    vtkInfovis-gd.lib;
    vtkIO-gd.lib;
    vtkjpeg-gd.lib;
    vtklibxml2-gd.lib;
    vtkmetaio-gd.lib;
    vtkNetCDF-gd.lib;
    vtkNetCDF_cxx-gd.lib;
    vtkpng-gd.lib;
    vtkproj4-gd.lib;
    vtkRendering-gd.lib;
    vtksqlite-gd.lib;
    vtksys-gd.lib;
    vtktiff-gd.lib;
    vtkverdict-gd.lib;
    vtkViews-gd.lib;
    vtkVolumeRendering-gd.lib;
    vtkWidgets-gd.lib;
    vtkzlib-gd.lib;
    opengl32.lib;
    以上を書き込む。
  9. 画面左上「構成(C)」の右にあるプルダウンリストから「Release」を選択する
  10. 画面左「構成プロパティ」→「リンカー」「入力」、画面右「追加の依存ファイル」に
    pcl_apps_release.lib;
    pcl_common_release.lib;
    pcl_features_release.lib;
    pcl_filters_release.lib;
    pcl_io_release.lib;
    pcl_io_ply_release.lib;
    pcl_kdtree_release.lib;
    pcl_keypoints_release.lib;
    pcl_octree_release.lib;
    pcl_registration_release.lib;
    pcl_sample_consensus_release.lib;
    pcl_segmentation_release.lib;
    pcl_search_release.lib;
    pcl_surface_release.lib;
    pcl_tracking_release.lib;
    pcl_visualization_release.lib;
    flann.lib;flann_s.lib;
    flann_cuda_s.lib;
    flann_cpp_s.lib;
    qhull6.lib;
    qhullcpp.lib;
    qhullstatic.lib;
    qhullstatic_p.lib;
    openNI.lib;
    OpenNI.jni.lib;
    NiSampleModule.lib;
    NiSampleExtensionModule.lib;
    MapReduceMPI.lib;
    mpistubs.lib;
    vtkalglib.lib;
    vtkCharts.lib;
    vtkCommon.lib;
    vtkDICOMParser.lib;
    vtkexoIIc.lib;
    vtkexpat.lib;
    vtkFiltering.lib;
    vtkfreetype.lib;
    vtkftgl.lib;
    vtkGenericFiltering.lib;
    vtkGeovis.lib;
    vtkGraphics.lib;
    vtkHybrid.lib;
    vtkImaging.lib;
    vtkInfovis.lib;
    vtkIO.lib;
    vtkjpeg.lib;
    vtklibxml2.lib;
    vtkmetaio.lib;
    vtkNetCDF.lib;
    vtkNetCDF_cxx.lib;
    vtkpng.lib;
    vtkproj4.lib;
    vtkRendering.lib;
    vtksqlite.lib;
    vtksys.lib;
    vtktiff.lib;
    vtkverdict.lib;
    vtkViews.lib;
    vtkVolumeRendering.lib;
    vtkWidgets.lib;
    vtkzlib.lib;
    opengl32.lib;
    以上を書き込む
  11. 適用を押して終了
以上でプロジェクトの設定は終了。
今回行った設定でプログラムを実行できるかはサンプルコードなどを書いて実行すればわかると思う。








0 件のコメント:

コメントを投稿