์๋ค ์,
์ด๋ป๊ฒ ์ง๋ด? ๋๋ ๋ง์นจ๋ด ํ๋ก์ ํธ์์ ์ผํ๊ธฐ ์ํด ๋์์ค๊ณ ์๋ค :D ๋ด ๋ฉํฑ์์ ์ฝ๊ฐ์ ์ ๋ฆฌ๋ฅผ ํ๊ณ ์๋ค. Indigo์ ํจ๊ป 14.04๋ฅผ ์ค์นํ์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ด ์์
๊ณต๊ฐ์์ catkin_make
์ํํ ๋ gcs_image_bridge.cpp
์ปดํ์ผ ์ ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
[ 98%] Built target mavros_plugins
CMakeFiles/gcs_image_bridge.dir/src/gcs_image_bridge.cpp.o: In function `image_cb(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&)':
gcs_image_bridge.cpp:(.text+0x1077): undefined reference to `cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'
CMakeFiles/gcs_image_bridge.dir/src/gcs_image_bridge.cpp.o: In function `cv::String::String(char const*)':
gcs_image_bridge.cpp:(.text._ZN2cv6StringC2EPKc[_ZN2cv6StringC5EPKc]+0x4f): undefined reference to `cv::String::allocate(unsigned long)'
CMakeFiles/gcs_image_bridge.dir/src/gcs_image_bridge.cpp.o: In function `cv::String::~String()':
gcs_image_bridge.cpp:(.text._ZN2cv6StringD2Ev[_ZN2cv6StringD5Ev]+0x14): undefined reference to `cv::String::deallocate()'
CMakeFiles/gcs_image_bridge.dir/src/gcs_image_bridge.cpp.o: In function `cv::String::operator=(cv::String const&)':
gcs_image_bridge.cpp:(.text._ZN2cv6StringaSERKS0_[_ZN2cv6StringaSERKS0_]+0x28): undefined reference to `cv::String::deallocate()'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/nuno/AIMAV_Project/devel/lib/mavros_extras/gcs_image_bridge] Error 1
make[1]: *** [mavros/mavros_extras/CMakeFiles/gcs_image_bridge.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j8 -l8" failed
์๋ง๋ opencv์ ๊ด๋ จ์ด ์์ต๋๊น? ๋๋ indigo repo์ ํจ๊ป ์ ๊ณต๋๋ ๋ฒ์ ์ ์ค์นํ์ต๋๋ค.
์ด๋ค ์ถฉ๊ณ ?
ํ๋ก์ ํธ์์ ๊ณ์ํด์ ๋ช ๊ฐ์ง ๊ฐ์ ์ฌํญ์ ์ป์ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. :)
์ต์์,
๋๋
ธ
BTW,
ํฐ๋ฏธ๋์ pkg-config --libs opencv
๋ ๋ค์์ ์ ๊ณตํฉ๋๋ค.
/opt/ros/indigo/lib/libopencv_calib3d.so /opt/ros/indigo/lib/libopencv_core.so
/opt/ros/indigo/lib/libopencv_features2d.so /opt/ros/indigo/lib/libopencv_flann.so
/opt/ros/indigo/lib/libopencv_highgui.so /opt/ros/indigo/lib/libopencv_imgcodecs.so
/opt/ros/indigo/lib/libopencv_imgproc.so /opt/ros/indigo/lib/libopencv_ml.so
/opt/ros/indigo/lib/libopencv_objdetect.so /opt/ros/indigo/lib/libopencv_photo.so
/opt/ros/indigo/lib/libopencv_shape.so /opt/ros/indigo/lib/libopencv_stitching.so
/opt/ros/indigo/lib/libopencv_superres.so /opt/ros/indigo/lib/libopencv_ts.a
/opt/ros/indigo/lib/libopencv_video.so /opt/ros/indigo/lib/libopencv_videoio.so
/opt/ros/indigo/lib/libopencv_videostab.so /opt/ros/indigo/lib/libopencv_viz.so
์
๋ฐ์ดํธ:
Indigo์ opencv ๋ฒ์ ์ ์ ๊ฑฐํ๊ณ ์์ค์์ opencv๋ฅผ ์ค์นํ์ต๋๋ค. http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html
๊ฐ์ ๊ฒฐ๊ณผ! ๊ทธ๋ฌ๋ฉด ๋ฌด์์ด ์๋ชป๋ ์ ์์ต๋๊น?
๋น๋ ๋ฐ ๊ฐ๋ฐ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํ์ญ์์ค.
์ด๋ฏธ ํด๋์ต๋๋ค. ๊ฐ์ ๋ฌผ๊ฑด
์ ros ๋ฒ์ ์ ์ฌ์ฉํฉ๋๊น? ๋ด๊ฐ ์๋ ํ ์์คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
๋ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ:
$ ls /usr/lib/x86_64-linux-gnu/libopencv_*
/usr/lib/x86_64-linux-gnu/libopencv_calib3d.a
/usr/lib/x86_64-linux-gnu/libopencv_calib3d.so@
/usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_contrib.a
/usr/lib/x86_64-linux-gnu/libopencv_contrib.so@
/usr/lib/x86_64-linux-gnu/libopencv_contrib.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_contrib.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_contrib.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_core.a
/usr/lib/x86_64-linux-gnu/libopencv_core.so@
/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_features2d.a
/usr/lib/x86_64-linux-gnu/libopencv_features2d.so@
/usr/lib/x86_64-linux-gnu/libopencv_features2d.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_features2d.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_features2d.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_flann.a
/usr/lib/x86_64-linux-gnu/libopencv_flann.so@
/usr/lib/x86_64-linux-gnu/libopencv_flann.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_flann.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_flann.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_gpu.a
/usr/lib/x86_64-linux-gnu/libopencv_gpu.so@
/usr/lib/x86_64-linux-gnu/libopencv_gpu.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_gpu.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_gpu.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_highgui.a
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so@
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_imgproc.a
/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so@
/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_legacy.a
/usr/lib/x86_64-linux-gnu/libopencv_legacy.so@
/usr/lib/x86_64-linux-gnu/libopencv_legacy.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_legacy.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_legacy.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_ml.a
/usr/lib/x86_64-linux-gnu/libopencv_ml.so@
/usr/lib/x86_64-linux-gnu/libopencv_ml.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_ml.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_ml.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_objdetect.a
/usr/lib/x86_64-linux-gnu/libopencv_objdetect.so@
/usr/lib/x86_64-linux-gnu/libopencv_objdetect.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_objdetect.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_objdetect.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_ocl.a
/usr/lib/x86_64-linux-gnu/libopencv_ocl.so@
/usr/lib/x86_64-linux-gnu/libopencv_ocl.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_ocl.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_ocl.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_photo.a
/usr/lib/x86_64-linux-gnu/libopencv_photo.so@
/usr/lib/x86_64-linux-gnu/libopencv_photo.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_photo.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_photo.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_stitching.a
/usr/lib/x86_64-linux-gnu/libopencv_stitching.so@
/usr/lib/x86_64-linux-gnu/libopencv_stitching.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_stitching.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_stitching.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_superres.a
/usr/lib/x86_64-linux-gnu/libopencv_superres.so@
/usr/lib/x86_64-linux-gnu/libopencv_superres.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_superres.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_superres.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_ts.a
/usr/lib/x86_64-linux-gnu/libopencv_ts.so@
/usr/lib/x86_64-linux-gnu/libopencv_ts.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_ts.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_video.a
/usr/lib/x86_64-linux-gnu/libopencv_video.so@
/usr/lib/x86_64-linux-gnu/libopencv_video.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_video.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_video.so.2.4.9
/usr/lib/x86_64-linux-gnu/libopencv_videostab.a
/usr/lib/x86_64-linux-gnu/libopencv_videostab.so@
/usr/lib/x86_64-linux-gnu/libopencv_videostab.so.2.4@
/usr/lib/x86_64-linux-gnu/libopencv_videostab.so.2.4.8@
/usr/lib/x86_64-linux-gnu/libopencv_videostab.so.2.4.9
์ฌ๊ธฐ์ 2.4.8 ๋งํฌ๋ 14.10 + Indigo์์ mavros๋ฅผ ๋น๋ํ๊ธฐ ์ํ ์์ ์ฌํญ์ ๋๋ค.
ํด๊ฒฐ! 2.4.9 ๋์ 2.4.8์ด ์์๊ณ 2.4.9 ์ค์น๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ์ง๊ธ ๋ซ์ต๋๋ค!
ํ , 2.4.8์ 14.04์ ๋ฒ์ ์ด๊ณ ๋น๋ deps๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํด๋น ๋งํฌ๋ฅผ ์ํํ์ต๋๋ค.
@ TSC21 Ubuntu 14.04์์ ๋์ผํ ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ ์์ต๋๋ค. ์ด๋ป๊ฒ 2.4.9 Ubuntu 14.04๋ฅผ ์ค์นํ์ต๋๊น? Ubuntu 14.04์๋ 2.4.9๋ง ์์ต๋๋ค!
@blackcoder ์์ค ์ค์น๋ฅผ ํด์ฃผ์ธ์
opencv ๋ฒ์ ์ ์๋ ๋ฌธ์ ! Ubuntu 14.10์ ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ 2.4.9๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ jenkins( indigo trusty 0.10.1 )์์ ์ ๋น๋๋๋ฏ๋ก 2.4.8๋ ๊ด์ฐฎ์ต๋๋ค.
๊ด์ฐฎ์ง ์์ ๊ฒ์ ros opencv ํจํค์ง( /opt/ros
)์ ์์คํ
์ ํผํฉํ๋ ๊ฒ์
๋๋ค.
ros ํจํค์ง๋ ์คํ์ ์ธ opencv3๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์
๋๋ค.
@vooon ๋น์ ์ด ์ณ์ต๋๋ค! ๋๋ ๋จ์ํ ros-indigo-opencv3์ ์ ๊ฑฐํ๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ์ปดํ์ผ๋์์ต๋๋ค.
๋์ค์ ์ฐธ์กฐํ ์ ์๋๋ก ๋์ผํ ๋ฌธ์ ์ ์ง๋ฉดํ ์ฌ๋๋ค๋ ๋๊ฐ์ด ํด์ผ ํฉ๋๋ค.
sudo apt-get remove ros-indigo-opencv3
๋น๋ ๋ฐ ๊ฐ๋ฐ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํ์ญ์์ค.
์ ๋ง ๊ณ ๋ง์ต๋๋ค!
๋๋์ด ๋ฌธ์ ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ํด๊ฒฐํ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋น๋ ๋ฐ ๊ฐ๋ฐ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํ์ญ์์ค.