Reason:
重新安装v4l-utils-0.9.3后,依赖的
opencv_versi 是什么?
我认为可能与v4l-9.3相匹配的opencv 的版本和之前的v4l不一样,所以
所以driver_node的编译refernce找不到。
可能需要修改链接到opencv的文件等等。。。
http://stackoverflow.com/questions/11453434/how-to-get-started-with-opencv-2-4-2-in-ubuntu-10-4
http://stackoverflow.com/questions/7004419/opencv-2-3-doesnt-compile-undefined-reference-error
http://opencv.willowgarage.com/wiki/InstallGuide
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
epuck@epuck3:~/fuerte/epuck_opencv_cam_driver$ makemkdir -p bin
cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=`rospack find rosbuild`/rostoolchain.cmake ..
-- The C compiler identification is GNU
-- Thepuck@epuck3:~/fuerte/epuck_opencv_cam_driver$ make
mkdir -p bin
cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=`rospack find rosbuild`/rostoolchain.cmake ..
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
[rosbuild] Building package epuck_opencv_cam_driver
[rosbuild] Cached build flags older than manifests; calling rospack to get flags
[rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/roslisp/cmake/roslisp.cmake
[rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/rospy/cmake/rospy.cmake
[rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/cpp/roscpp/cmake/roscpp.cmake
-- Configuring done
-- Generating done
-- Build files have been written to: /home/epuck/fuerte/epuck_opencv_cam_driver/build
cd build && make
make[1]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make[2]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make[3]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
Scanning dependencies of target rospack_genmsg_libexe
make[3]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
[ 0%] Built target rospack_genmsg_libexe
make[3]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
Scanning dependencies of target rosbuild_precompile
make[3]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
[ 0%] Built target rosbuild_precompile
make[3]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
Scanning dependencies of target driver_node
make[3]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make[3]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
[100%] Building CXX object CMakeFiles/driver_node.dir/src/driver_node.o
In file included from /home/epuck/fuerte/epuck_opencv_cam_driver/src/driver_node.cpp:13:
/home/epuck/fuerte/vision_opencv/cv_bridge/include/cv_bridge/CvBridge.h: In static member function ��‘static boost::shared_ptr<s:
/home/epuck/fuerte/vision_opencv/cv_bridge/include/cv_bridge/CvBridge.h:408: warning: ��‘static bool sensor_msgs::CvBridge::from)
Linking CXX executable ../bin/driver_node
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::FlannBasedMatcher::FlannBasedMatcher(cv::Ptr<cv::flann::IndexPa'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::add(cv::gpu::GpuMat const&, cv::gpu::GpuMat const&, cv::gp'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::flann::KDTreeIndexParams::KDTreeIndexParams(int)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::buildWarpCylindricalMaps(cv::Size_<int>, cv::Rect_<int>, c'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::remap(cv::gpu::GpuMat const&, cv::gpu::GpuMat&, cv::gpu::G'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::GpuMat::GpuMat(cv::gpu::GpuMat const&, cv::Rect_<int> cons'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::GpuMat::GpuMat(cv::Mat const&)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::buildWarpSphericalMaps(cv::Size_<int>, cv::Rect_<int>, cv:'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::flann::IndexParams::~IndexParams()'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::GpuMat::GpuMat(cv::gpu::GpuMat const&)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::flann::SearchParams::SearchParams(int, float, bool)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::subtract(cv::gpu::GpuMat const&, cv::gpu::GpuMat const&, c'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::SURF_GPU::releaseMemory()'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::flann::IndexParams::setAlgorithm(int)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::buildWarpPlaneMaps(cv::Size_<int>, cv::Rect_<int>, cv::Mat'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::BruteForceMatcher_GPU_base::knnMatchSingle(cv::gpu::GpuMat'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::pyrUp(cv::gpu::GpuMat const&, cv::gpu::GpuMat&, int, cv::g'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::GpuMat::operator=(cv::gpu::GpuMat const&)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::flann::IndexParams::~IndexParams()'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::pyrDown(cv::gpu::GpuMat const&, cv::gpu::GpuMat&, int, cv:'
collect2: ld returned 1 exit status
make[3]: *** [../bin/driver_node] Error 1
make[3]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make[2]: *** [CMakeFiles/driver_node.dir/all] Error 2
make[2]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make: *** [all] Error 2
e CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
[rosbuild] Building package epuck_opencv_cam_driver
[rosbuild] Cached build flags older than manifests; calling rospack to get flags
[rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/roslisp/cmake/roslisp.cmake
[rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/rospy/cmake/rospy.cmake
[rosbuild] Including /opt/ros/electric/stacks/ros_comm/clients/cpp/roscpp/cmake/roscpp.cmake
-- Configuring done
-- Generating done
-- Build files have been written to: /home/epuck/fuerte/epuck_opencv_cam_driver/build
cd build && make
make[1]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make[2]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make[3]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
Scanning dependencies of target rospack_genmsg_libexe
make[3]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
[ 0%] Built target rospack_genmsg_libexe
make[3]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
Scanning dependencies of target rosbuild_precompile
make[3]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
[ 0%] Built target rosbuild_precompile
make[3]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
Scanning dependencies of target driver_node
make[3]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make[3]: Entering directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
[100%] Building CXX object CMakeFiles/driver_node.dir/src/driver_node.o
In file included from /home/epuck/fuerte/epuck_opencv_cam_driver/src/driver_node.cpp:13:
/home/epuck/fuerte/vision_opencv/cv_bridge/include/cv_bridge/CvBridge.h: In static member function ��‘static boost::shared_ptr<s:
/home/epuck/fuerte/vision_opencv/cv_bridge/include/cv_bridge/CvBridge.h:408: warning: ��‘static bool sensor_msgs::CvBridge::from)
Linking CXX executable ../bin/driver_node
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::FlannBasedMatcher::FlannBasedMatcher(cv::Ptr<cv::flann::IndexPa'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::add(cv::gpu::GpuMat const&, cv::gpu::GpuMat const&, cv::gp'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::flann::KDTreeIndexParams::KDTreeIndexParams(int)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::buildWarpCylindricalMaps(cv::Size_<int>, cv::Rect_<int>, c'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::remap(cv::gpu::GpuMat const&, cv::gpu::GpuMat&, cv::gpu::G'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::GpuMat::GpuMat(cv::gpu::GpuMat const&, cv::Rect_<int> cons'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::GpuMat::GpuMat(cv::Mat const&)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::buildWarpSphericalMaps(cv::Size_<int>, cv::Rect_<int>, cv:'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::flann::IndexParams::~IndexParams()'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::GpuMat::GpuMat(cv::gpu::GpuMat const&)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::flann::SearchParams::SearchParams(int, float, bool)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::subtract(cv::gpu::GpuMat const&, cv::gpu::GpuMat const&, c'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::SURF_GPU::releaseMemory()'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::flann::IndexParams::setAlgorithm(int)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::buildWarpPlaneMaps(cv::Size_<int>, cv::Rect_<int>, cv::Mat'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::BruteForceMatcher_GPU_base::knnMatchSingle(cv::gpu::GpuMat'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::pyrUp(cv::gpu::GpuMat const&, cv::gpu::GpuMat&, int, cv::g'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::GpuMat::operator=(cv::gpu::GpuMat const&)'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::flann::IndexParams::~IndexParams()'
/usr/lib/libopencv_stitching.so.2.3: undefined reference to `cv::gpu::pyrDown(cv::gpu::GpuMat const&, cv::gpu::GpuMat&, int, cv:'
collect2: ld returned 1 exit status
make[3]: *** [../bin/driver_node] Error 1
make[3]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make[2]: *** [CMakeFiles/driver_node.dir/all] Error 2
make[2]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/epuck/fuerte/epuck_opencv_cam_driver/build'
make: *** [all] Error 2