构建opencv程序时出错"No rule to make target ...",并且出错"undefined reference to"
error "No rule to make target ..."when build opencv program ,and "undefined reference to" error
我想构建我的简单 OpenCV 程序,但是当我构建项目时,它失败了,错误描述是:
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})
有人知道问题是什么以及如何解决吗?
我终于通过将逗号修改为 space.From 解决了我的问题,我了解到:
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.
表示有人用逗号而不是 space 错误地列举了库。
此外,我还解决了
的问题
undefined reference to ***.
这些问题一般是没有库,或者你computer.For我上面有多个版本的库,是因为#include<>
用的是opencv3.2的头文件,而lib used of opencv2.4.So 我将find_package(OpenCV REQUIRED)
修改为find_package(OpenCV 3 REQUIRED)
使lib used is also opencv3.2.And 然后所有问题都消失了,一切正常!
我想构建我的简单 OpenCV 程序,但是当我构建项目时,它失败了,错误描述是:
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})
有人知道问题是什么以及如何解决吗?
我终于通过将逗号修改为 space.From 解决了我的问题,我了解到:
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.
表示有人用逗号而不是 space 错误地列举了库。
此外,我还解决了
的问题undefined reference to ***.
这些问题一般是没有库,或者你computer.For我上面有多个版本的库,是因为#include<>
用的是opencv3.2的头文件,而lib used of opencv2.4.So 我将find_package(OpenCV REQUIRED)
修改为find_package(OpenCV 3 REQUIRED)
使lib used is also opencv3.2.And 然后所有问题都消失了,一切正常!