ROS,交叉编译,
这是一个交叉编译问题的集合,记录相关的问题的,所以可能比较乱。
1. 错误: #include_next 是一个 GCC 扩展 [-Werror]
报错:
limits.h:124:3: 错误: #include_next 是一个 GCC 扩展 [-Werror]
# include_next <limits.h>
^~~~~~~~~~~~
cc1plus:所有的警告都被当作是错误
解决:
这是因为gcc将警告当成了错误,在CMakeLists.txt
中注释掉这句:
add_definitions( -Werror )
2.ExternalProject_Add编译的依赖库
有时候通过-DCMAKE_INSTALL_PREFIX=${CATKIN_DEVEL_PREFIX}
指定的安装路径有可能不行,可以尝试:-DCMAKE_INSTALL_PREFIX:PATH=${CATKIN_DEVEL_PREFIX}
3. skipping incompatible /home/darknet/CM/28_ros/maplab_enhanced/devel/lib/libmetis.so when searching for -lmetis
这种一般就是交叉编译的时候用了x86 host上的编译器,编译生成的动态库的格式不对。