参照如下的方法完成:
https://blog.csdn.net/double_ZZZ/article/details/113254903
下载vision_opencv-noetic,文件夹下包含cv_bridge文件。
https://codechina.csdn.net/mirrors/ros-perception/vision_opencv/-/archive/noetic/vision_opencv-noetic.zip
执行:
cd cv_bridge
mkdir build
cd build
cmake …
make
sudo make install
命令
当执行到make命令时,遇到同样的问题:
/home/xxx/catkin_ws/src/cv_bridge/src/module.hpp: In function ‘void* do_numpy_import()’:
/usr/include/python2.7/numpy/__multiarray_api.h:1532:144: error: return-statement with no value, in function returning ‘void*’ [-fpermissive]
rt_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NUMP
^
/home/xxx/catkin_ws/src/cv_bridge/src/module.hpp:38:5: note: in expansion of macro ‘import_array’
import_array( );
^
In file included from /home/xxx/catkin_ws/src/cv_bridge/src/module.cpp:35:0:
/home/xxx/catkin_ws/src/cv_bridge/src/module.hpp:39:12: error: ‘nullptr’ was not declared in this scope
return nullptr;
^
src/CMakeFiles/cv_bridge_boost.dir/build.make:62: recipe for target 'src/CMakeFiles/cv_bridge_boost.dir/module.cpp.o' failed
make[2]: *** [src/CMakeFiles/cv_bridge_boost.dir/module.cpp.o] Error 1
CMakeFiles/Makefile2:963: recipe for target 'src/CMakeFiles/cv_bridge_boost.dir/all' failed
make[1]: *** [src/CMakeFiles/cv_bridge_boost.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
采用方法:
解决方法是,修改/home/nano/catkin_ws/src/cv_bridge/src/module.hpp(根据自己的路径),将最后一段(36~40)行:
static void * do_numpy_import( )
{
import_array( );
return nullptr;
}
改为:
static void do_numpy_import( )
{
import_array( );
}
执行make通过