how to set up opencv in ros indigo [closed]

asked 2015-05-08 22:00:37 -0500

dmngu9 gravatar image

updated 2015-05-10 16:24:18 -0500

Mehdi. gravatar image

hey guys, i have problems with using opencv in ros. i followed the cv_bridge tutorial but when catkin_make. it gives me strange error. How did you setup Cmakelist file and package.xml? How to add dependency for opencv2 . The tutorial is not clear on this

>     "CMakeFiles/color.dir/src/color.cpp.o:
> In function
> `ImageConverter::ImageConverter()':
>     color.cpp:(.text._ZN14ImageConverterC2Ev[_ZN14ImageConverterC5Ev]+0x8f):
> undefined reference to
> `image_transport::ImageTransport::ImageTransport(ros::NodeHandle
> const&)'
>     color.cpp:(.text._ZN14ImageConverterC2Ev[_ZN14ImageConverterC5Ev]+0x375):
> undefined reference to
> `image_transport::ImageTransport::advertise(std::string
> const&, unsigned int, bool)'
>     color.cpp:(.text._ZN14ImageConverterC2Ev[_ZN14ImageConverterC5Ev]+0x584):
> undefined reference to
> `image_transport::ImageTransport::~ImageTransport()'
>     CMakeFiles/color.dir/src/color.cpp.o:
> In function
> `ImageConverter::~ImageConverter()':
>     color.cpp:(.text._ZN14ImageConverterD2Ev[_ZN14ImageConverterD5Ev]+0x49):
> undefined reference to
> `image_transport::ImageTransport::~ImageTransport()'
>     color.cpp:(.text._ZN14ImageConverterD2Ev[_ZN14ImageConverterD5Ev]+0x9a):
> undefined reference to
> `image_transport::ImageTransport::~ImageTransport()'
>     CMakeFiles/color.dir/src/color.cpp.o:
> In function
> `ImageConverter::imageCb(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void>
> > const> const&)':
>     color.cpp:(.text._ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[_ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0x3f):
> undefined reference to
> `cv_bridge::toCvCopy(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void>
> > const> const&, std::string const&)'
>     color.cpp:(.text._ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[_ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0x187):
> undefined reference to
> `cv_bridge::CvImage::toImageMsg()
> const'
>     color.cpp:(.text._ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE[_ZN14ImageConverter7imageCbERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE]+0x1ba):
> undefined reference to
> `image_transport::Publisher::publish(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void>
> > const> const&) const'
>     CMakeFiles/color.dir/src/color.cpp.o:
> In function
> `image_transport::Subscriber
> image_transport::ImageTransport::subscribe<ImageConverter>(std::string
> const&, unsigned int, void
> (ImageConverter::*)(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void>
> > const> const&), ImageConverter*, image_transport::TransportHints
> const&)':
>     color.cpp:(.text._ZN15image_transport14ImageTransport9subscribeI14ImageConverterEENS_10SubscriberERKSsjMT_FvRKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEEEPS6_RKNS_14TransportHintsE[_ZN15image_transport14ImageTransport9subscribeI14ImageConverterEENS_10SubscriberERKSsjMT_FvRKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEEEPS6_RKNS_14TransportHintsE]+0xa4):
> undefined reference to
> `image_transport::ImageTransport::subscribe(std::string
> const&, unsigned int,
> boost::function<void
> (boost::shared_ptr<sensor_msgs::Image_<std::allocator<void>
> > const> const&)> const&, boost::shared_ptr<void> const&,
> image_transport::TransportHints
> const&)'
>     collect2: error: ld returned 1 exit status
>     make[2]: *** [/home/dmngu9/fyp_ws/devel/lib/color_tracking/color]
> Error 1
>     make[1]: *** [color_tracking/CMakeFiles/color.dir/all]
> Error 2
>     make: *** [all] Error 2
>     Invoking "make -j4 -l4" failed
>     "
edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by dmngu9
close date 2015-05-10 20:14:48.242894

Comments

ros indigo uses opencv3 not opencv2

Hamid Didari gravatar image Hamid Didari  ( 2015-05-10 08:04:29 -0500 )edit

can you also post your CMakeFiles.txt and package.xml

Mehdi. gravatar image Mehdi.  ( 2015-05-10 16:24:47 -0500 )edit

i had it working now. Thanks

dmngu9 gravatar image dmngu9  ( 2015-05-10 20:14:28 -0500 )edit

@dmngu9 you could answer your own question and explain how you made it work for future users.

Mehdi. gravatar image Mehdi.  ( 2015-05-12 03:39:49 -0500 )edit

I seem to have a similar problem, where I have "undefined reference to cv..." build error message when I used rosmake on some fuerte package on ROS indigo. Could you please describe how you have solved your problem?

cvcook gravatar image cvcook  ( 2015-11-29 21:13:08 -0500 )edit

Hi, I got the same problem. Can you post your solution? Thank you very much.

Robert Delong gravatar image Robert Delong  ( 2015-12-22 20:20:41 -0500 )edit

i forgot how to solve it now. its been a long time ago

dmngu9 gravatar image dmngu9  ( 2015-12-22 21:14:02 -0500 )edit

@dmngu9 and that is why you should always answer your own question if you solve your problems !!

Mehdi. gravatar image Mehdi.  ( 2015-12-23 03:55:44 -0500 )edit