openpose Неопределенные символы для архитектуры x86_64

Я встретил ошибку при запуске

make -j`sysctl -n hw.logicalcpu`

для сборки openpose на maxos catalina:

[ 40%] Linking CXX shared library libopenpose.dylib
Undefined symbols for architecture x86_64:
  "caffe::Net<float>::CopyTrainedLayersFrom(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)", referenced from:
      op::NetCaffe::initializationOnThread() in netCaffe.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[5]: *** [src/openpose/libopenpose.1.5.1.dylib] Error 1
make[4]: *** [src/openpose/CMakeFiles/openpose.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [openpose_lib] Error 2
make[1]: *** [CMakeFiles/openpose_lib.dir/all] Error 2
make: *** [all] Error 2

Пожалуйста, помогите мне, если вы, ребята, немного разбираетесь в этом...


person Turan    schedule 04.03.2020    source источник


Ответы (1)


Задача решена. Оказывается, встроенная в openpose caffe плохо работает. Сначала установите CAFFE независимо от openpose. Во-вторых, когда вы собираете openpose, установите флаг BUILD_CAFFE в false в cmake и вручную укажите путь к каталогу CMAKE_INCLUDE и файлу CMAKE_LIBS в cmake.

person Turan    schedule 07.03.2020