我跑了
cp Makefile.config.example Makefile.config
make all
按照网站提示完成安装。我使用带有 CUDA 和 atlas 的 Ubuntu 15.04。
错误提示如下
CXX/LD -o .build_release/tools/compute_image_mean.bin CXX/LD -o .build_release/tools/convert_imageset.bin CXX/LD -o .build_release/tools/extract_features.bin CXX/LD -o .build_release/tools/upgrade_solver_proto_text.bin CXX/LD -o .build_release/tools/upgrade_net_proto_text.bin CXX/LD -o .build_release/tools/upgrade_net_proto_binary.bin CXX/LD -o .build_release/tools/caffe.bin CXX/LD -o .build_release/examples/cpp_classification/classification.bin .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 collect2: error: ld returned 1 exit status Makefile:619: recipe for target '.build_release/tools/upgrade_solver_proto_text.bin' failed make: * [.build_release/tools/upgrade_solver_proto_text.bin] Error 1 make: 正在等待未完成的任务.... .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 collect2: error: ld returned 1 exit status Makefile:619: recipe for target '.build_release/tools/compute_image_mean.bin' failed make: [.build_release/tools/compute_image_mean.bin] Error 1 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 collect2: error: ld returned 1 exit status Makefile:619: recipe for target '.build_release/tools/upgrade_net_proto_binary.bin' failed make: [.build_release/tools/upgrade_net_proto_binary.bin] Error 1 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 collect2: error: ld returned 1 exit status Makefile:619: recipe for target '.build_release/tools/upgrade_net_proto_text.bin' failed make: [.build_release/tools/upgrade_net_proto_text.bin] Error 1 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 collect2: error: ld returned 1 exit status Makefile:619: recipe for target '.build_release/tools/convert_imageset.bin' failed make: [.build_release/tools/convert_imageset.bin] Error 1 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 collect2: error: ld returned 1 exit status Makefile:624: recipe for target '.build_release/examples/cpp_classification/classification.bin' failed make: [.build_release/examples/cpp_classification/classification.bin] Error 1 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 collect2: error: ld returned 1 exit status Makefile:619: recipe for target '.build_release/tools/caffe.bin' failed make: * [.build_release/tools/caffe.bin] Error 1 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::zero’未定义的引用 .build_release/lib/libcaffe.so:对‘caffe::cudnn::dataType::one’未定义的引用 collect2: error: ld returned 1 exit status Makefile:619: recipe for target '.build_release/tools/extract_features.bin' failed make: *** [.build_release/tools/extract_features.bin] Error 1
最佳答案
我不确定你的情况,但我的解决方案是取消注释
# USE_OPENCV := 0
OPENCV_VERSION := 3
在“Makefile.config”中,因为我使用的是 OpenCV 版本 > 3.0。
清理并使所有 -j $(($(nproc) + 1)) 与您所有的处理器。之后应该没问题。
关于c++ - 安装caffe命令 'make all'时报错关于 "caffe::cudnn::dataType<double>::zero",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41627902/