在安装Grasp Pose Detection (GPD) 时,会出现一些"未定义的引用"的问题
例如:
/generate_candidates.cpp:46:对‘gpd::util::ConfigFile::ConfigFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)’未定义的引用
如图所示
解决方法:在CMakeLists.txt中加3句
SET(CMAKE_AR "gcc-ar") #加这三句
SET(CMAKE_RANLIB "gcc-ranlib")
SET(CMAKE_NM "gcc-nm")
在CMakeLists.txt中,需要配置CMAKE_AR ,_RANLIB ,CMAKE_NM三个参数
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
project(gpd)
set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_STANDARD 14)
SET(CMAKE_AR "gcc-ar") #此处添加
SET(CMAKE_RANLIB "gcc-ranlib")
SET(CMAKE_NM "gcc-nm")
#Eigen library
include_directories(${EIGEN3_INCLUDE_DIR})
include_directories(${PROJECT_SOURCE_DIR}/include)
然后clean在重新编译就行了
可以说是很折腾了
参考博客:
https://gitlab.kitware.com/cmake/cmake/-/issues/18712