0
私は単純なOpenCVプログラムをビルドしたいが、プロジェクトをビルドすると失敗し、ここでエラーopencvプログラムと "未定義参照"エラーを作成するときに "No rule to target ..."というエラーが発生する
No rule to make target `/usr/lib/x86_64-linux-gnu/libconsole_bridge.so,opencv_videostab', needed by `/home/turtlebot/catkin_ws/devel/lib/multi_robot_slam/imageConverter'. Stop.
私CmakeLists.txtです:
cmake_minimum_required(VERSION 2.8.3)
project(robot_slam)
find_package(catkin REQUIRED
COMPONENTS
cmake_modules
roscpp
sensor_msgs
cv_bridge
std_msgs
image_transport
)
find_package(OpenCV REQUIRED)
include_directories(include ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})
catkin_package()
add_executable(imageConverter src/imageConverter.cpp)
target_link_libraries(imageConverter ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})
誰でも問題が何であるか、それを解決する方法を知っていますか?
No rule to make target /usr/lib/x86_64linux-gnu/libconsole_bridge.so,opencv_videostab', needed by /home/turtlebot/catkin_ws/devel/lib/multi_robot_slam/imageConverter'.Stop.
は、誰かが間違ってコンマの代わりにスペースを経由してライブラリを列挙することを意味します
それは '/ usr/lib/x86_64-linux-gnu/libconsole_bridge.so、opencv_videostab'は誰かがスペースの代わりにカンマ**で間違ってライブラリを列挙したことを意味します。 'FindOpenCV.cmake'を修正しましたか? OpenCVを見つけるためのキャッシュ変数をいくつか設定しましたか? – Tsyvarev
@Tsyvarevあなたの有用な答えをありがとう。私は間違ってカンマを介してライブラリを列挙しているようだ。しかし、私はthis.Itを変更すると、新しい問題が出てくる.'cv :: namedWindow(...) 'とすべての関数i LD_LIBRARY_PATH = $のLD_LIBRARY_PATH:は/ usr/local/libの 輸出LD_LIBRARY_PATH LIBRARY_PATH = $ LIBRARY_PATH:は/ usr/local/libに 輸出すべての未定義reference.Iは、/ etc/profileをのように変数を追加する必要があり品種を名前空間に属する使用OpenCV_INCLUDE_DIRS =/usr/local/includeexport OpenCV_INCLUDE_DIRS export PATH = $ PATH:$ HOME/opencv-3.2.0/build/bin – Jack
未定義の参照とは、コードに必要なヘッダーを含めなかったことを意味します。 'namedWindowは()' の#include '以下のように、 –