cpd の新しい c++ ライブラリ ( https://github.com/gadomski/cpd ) を ROS の 1 つのプロジェクトに追加したいと考えています。Ubuntu OS に cpd ライブラリを既に正常にインストールしています。
ROS環境で使いたいと思います。
CMakeList.txt ファイルには、既に次の行を追加しています。
find_package(CPD REQUIRED)
include_directories(include
${catkin_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIR}
${PCL_INCLUDE_DIRS}
${CPD_INCLUDE_DIRS}
)
target_link_libraries(background_removal
${catkin_LIBRARIES}
${OpenCV_LIBRARIES}
${PCL_LIBRARIES}
${CPD_LIBRARIES}
)
次に、追加したばかりのソースコードで
#include <cpd/nonrigid_lowrank.hpp>
サンプルコードと同様に
cpd::NonrigidLowrank reg;
cpd::Registration::ResultPtr result = reg.run(X, Y);
しかし、コンパイルした後、エラーがスローされます: undefined reference to `cpd::NonrigidLowrank::NonrigidLowrank()'
エラー: `cpd::Registration::run(arma::Mat const&, arma::Mat const&) const' への未定義の参照
cpd のライブラリが ROS にリンクされていないと思いますが、cpd ライブラリを呼び出すのに何か間違ったことをしたのでしょうか?