Cmake 用于体系结构x86_64的openpose未定义符号
我在运行时遇到了一个错误Cmake 用于体系结构x86_64的openpose未定义符号,cmake,linker,clang,caffe,openpose,Cmake,Linker,Clang,Caffe,Openpose,我在运行时遇到了一个错误 make -j`sysctl -n hw.logicalcpu` 要在maxos catalina上构建openpose,请执行以下操作: [ 40%] Linking CXX shared library libopenpose.dylib Undefined symbols for architecture x86_64: "caffe::Net<float>::CopyTrainedLayersFrom(std::__1::basic_strin
make -j`sysctl -n hw.logicalcpu`
要在maxos catalina上构建openpose,请执行以下操作:
[ 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
[40%]链接CXX共享库libopenpose.dylib
架构x86_64的未定义符号:
“caffe::Net::CopyTrainedLayerFrom(标准::_1::基本_字符串)”,引用自:
NetCaffe.cpp.o中的op::NetCaffe::initializationOnThread()
ld:找不到架构x86_64的符号
叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)
make[5]:***[src/openpose/libopenpose.1.5.1.dylib]错误1
make[4]:***[src/openpose/CMakeFiles/openpose.dir/all]错误2
生成[3]:***[all]错误2
生成[2]:***[openpose_lib]错误2
make[1]:***[CMakeFiles/openpose_lib.dir/all]错误2
make:**[全部]错误2
请帮助我,如果你们知道一点关于这个…问题解决了。
结果是openpose内置的caffe工作不好。
首先在openpose外部独立安装CAFFE。
其次,在构建openpose时,在cmake中将BUILD_CAFFE标志设置为false,并在cmake中手动指定cmake_INCLUDE目录和cmake_LIBS文件的路径