【ROS】undefined reference to `cv::Mat::Mat()’のエラーを解決する方法

スポンサーリンク

undefined reference to `cv::Mat::Mat()’のエラーを解決する

ROSでC++の中でOpenCVを使いたくてcatkin buildしたときに以下のようなエラーが出る場合の解決方法について説明する。

undefined reference to `cv::Mat::Mat()'

CMakeLists.txtを編集する

この場合は、CMakeLists.txtを編集すれば良い。
以下のように変更する。

cmake_minimum_required(VERSION 3.0.2)
project(opencv_test)

find_package(OpenCV REQUIRED) #追加
find_package(catkin REQUIRED)

catkin_package(
)

include_directories(
 include
 ${OpenCV_INCLUDE_DIRS} #追加
)

add_executable(main src/main.cpp)
target_link_libraries(main
  ${OpenCV_LIBRARIES} #追加
)

保存して、catkin buildすればエラーは解決するはず。

参考:https://qiita.com/hoshianaaa/items/00b0106735a3e693d0ff

タイトルとURLをコピーしました