CloudCompare - eiichiromomma/CVMLAB GitHub Wiki

CloudCompare

Win/macOS/Linuxで使える点群処理ソフト

macOSでPCL pluginを使いたい

ビルドすれば直ぐ使えるだろうと思ったら色々と躓いた.

ビルド手順

BUILD.mdにある通り進める. (先にPCLとかQtとかその他関連しそうなライブラリ類は入れておく)

git clone --recursive https://github.com/cloudcompare/trunk.git
cd trunk
mkdir build
cd build
ccmake ..

で使いたいpluginを指定する.PCLのPCDを読みたいので

INSTALL_QPCV_PLUGIN              ON

とする.あとBUILD TypeはReleaseにしておく.

clangにopenmpがない

clang: error: unsupported option '-fopenmp'

というエラーが出る.GCCを使うという解決法もあるらしいがCMakeの度に生成されるファイルを書き換える泥縄対策で何とかなる. 適当なエディタで build内の plugins/core/qPCL/PclUtils/CMakeFiles/QPCL_PLUGIN_UTILS_LIB.dir/flags.make を開き, CXX_FLAGSの-fopenmpを削除する.そして

make -j4
sudo make install

で /usr/local にCloudCompareフォルダが作られ,その中にアプリが置かれる.

libQPCL_IO_PLUGIN.dylib does not seem to be a valid plugin

で,PCDファイルを Drag & Dropしようとすると

[Load] Can't guess file format: unhandled file extension 'pcd'

とダイヤログが出て開けない. 下のログにこのエラーが出ている.

libQPCL_IO_PLUGIN.dylib does not seem to be a valid plugin	(Cannot load library /usr/local/CloudCompare/CloudCompare.app/Contents/PlugIns/ccPlugins/libQPCL_IO_PLUGIN.dylib: (dlopen(/usr/local/CloudCompare/CloudCompare.app/Contents/PlugIns/ccPlugins/libQPCL_IO_PLUGIN.dylib, 133): Library not loaded: @loader_path/libicudata.63.dylib
  Referenced from: /usr/local/CloudCompare/CloudCompare.app/Contents/Frameworks/libicui18n.63.dylib
  Reason: image not found))

恐らく環境の問題だろうが,libicudata.63.dylibが無いとのことなので確認すると libicudata.63.1.dylib は存在する.これが原因なのでシンボリックリンクを作ってしまう(泥縄).

cd /usr/local/CloudCompare/CloudCompare.app/Contents/Frameworks/
sudo ln -s libicudata.63.1.dylib libicudata.63.dylib

これでCloudCompareを再起動するとPCDが読めるようになる.