2013/05/25

PCL をMinGW でコンパイル

至極個人的な理由で Point Cloud Library をMinGW でコンパイルできるようにしました.

依存ライブラリ

PCL の必須ライブラリは

boost, Eigen, VTK に関しては,(boost はちょっとクセがあるけど) MinGW でもデフォルトでコンパイルできるので問題なし. Flann は,リンクのところでこけたのだけども,修正したのを github の trunk でマージされたのでそちらのソースからならコンパイル可. オプショナルなライブラリは,試しておりません.

PCL

で,PCL.本家のレポジトリからフォークして修正したのが こちら

PCL を使ったプログラムは, CMake でできたMakefile でコンパイルしようとすると, gcc のあるバージョンでは link の時に "multiple definition" でエラーになるので, set_target_properties(${_exename} PROPERTIES LINK_FLAGS "-Wl,--allow-multiple-definition") という感じで,linker option を加える必要があり.

(このオプション,ほぼ同じバージョンのGCCなLinux環境では必要ないのだけど,そもそもCMake で生成されるMakefileが違うんだよね..なんでかはよくわからないですが..CMake むずかしいです.)

PCL の本家レポジトリに pull request 送ってある(のだけど,マージされる気配はなし).