caffe安装过程中碰到的一些问题以及解决方案

最近一直在使用caffe,把自己安装以及使用过程中碰到的问题做个记录:

  1. convert_imageset.cpp:(.text.startup+0x5e1):对‘caffe::db::GetDB(std::string const&)’未定义的引用
    convert_imageset.cpp:(.text.startup+0x719):对‘caffe::ReadImageToDatum(std::string const&, int, int, int, bool, std::string const&, caffe::Datum*)’未定义的引用
    collect2: 错误: ld 返回 1
    make: * [.build_release/tools/convert_imageset.bin] 错误 1
    make: * 正在等待未完成的任务….
    .build_release/tools/compute_image_mean.o:在函数‘main’中:
    compute_image_mean.cpp:(.text.startup+0x152):对‘caffe::db::GetDB(std::string const&)’未定义的引用
    compute_image_mean.cpp:(.text.startup+0x1f1):对‘caffe::DecodeDatumNative(caffe::Datum*)’未定义的引用
    compute_image_mean.cpp:(.text.startup+0x3cf):对‘caffe::DecodeDatumNative(caffe::Datum*)’未定义的引用
    collect2: 错误: ld 返回 1
    make: * [.build_release/tools/compute_image_mean.bin] 错误 1
    .build_release/tools/extract_features.o:在函数‘int feature_extraction_pipeline(int, char**)’中:
    extract_features.cpp:(.text._Z27feature_extraction_pipelineIfEiiPPc[_Z27feature_extraction_pipelineIfEiiPPc]+0x117):对‘caffe::Net::Net(std::string const&, caffe::Phase)’未定义的引用
    extract_features.cpp:(.text._Z27feature_extraction_pipelineIfEiiPPc[_Z27feature_extraction_pipelineIfEiiPPc]+0x60d):对‘caffe::Net::has_blob(std::string const&) const’未定义的引用
    extract_features.cpp:(.text._Z27feature_extraction_pipelineIfEiiPPc[_Z27feature_extraction_pipelineIfEiiPPc]+0x8c1):对‘caffe::db::GetDB(std::string const&)’未定义的引用
    extract_features.cpp:(.text._Z27feature_extraction_pipelineIfEiiPPc[_Z27feature_extraction_pipelineIfEiiPPc]+0xae3):对‘caffe::Net::blob_by_name(std::string const&) const’未定义的引用
    collect2: 错误: ld 返回 1
    make: * [.build_release/tools/extract_features.bin] 错误 1
    .build_release/tools/caffe.o:在函数‘test()’中:
    caffe.cpp:(.text+0xa93):对‘caffe::Net::Net(std::string const&, caffe::Phase)’未定义的引用
    .build_release/tools/caffe.o:在函数‘time()’中:
    caffe.cpp:(.text+0x2823):对‘caffe::Net::Net(std::string const&, caffe::Phase)’未定义的引用
    caffe.cpp:(.text+0x2d49):对‘caffe::Timer::MicroSeconds()’未定义的引用
    caffe.cpp:(.text+0x3121):对‘caffe::Timer::MicroSeconds()’未定义的引用
    caffe.cpp:(.text+0x3201):对‘caffe::Timer::MicroSeconds()’未定义的引用
    caffe.cpp:(.text+0x3c59):对‘caffe::Timer::MicroSeconds()’未定义的引用
    .build_release/tools/caffe.o:(.data.rel.ro._ZTVN5caffe9SGDSolverIfEE[_ZTVN5caffe9SGDSolverIfEE]+0x40):对‘caffe::SGDSolver::ClipGradients()’未定义的引用
    .build_release/tools/caffe.o:(.data.rel.ro._ZTVN5caffe14NesterovSolverIfEE[_ZTVN5caffe14NesterovSolverIfEE]+0x40):对‘caffe::SGDSolver::ClipGradients()’未定义的引用
    .build_release/tools/caffe.o:(.data.rel.ro._ZTVN5caffe13AdaGradSolverIfEE[_ZTVN5caffe13AdaGradSolverIfEE]+0x40):对‘caffe::SGDSolver::ClipGradients()’未定义的引用
    collect2: 错误: ld 返回 1
    make: * [.build_release/tools/caffe.bin] 错误 1
    .build_release/examples/cifar10/convert_cifar_data.o:在函数‘convert_dataset(std::string const&, std::string const&, std::string const&)’中:
    convert_cifar_data.cpp:(.text+0xb7):对‘caffe::db::GetDB(std::string const&)’未定义的引用
    convert_cifar_data.cpp:(.text+0x6a2):对‘caffe::db::GetDB(std::string const&)’未定义的引用
    collect2: 错误: ld 返回 1
    make: * [.build_release/examples/cifar10/convert_cifar_data.bin] 错误
    解决方法:https://github.com/BVLC/caffe/issues/2228,清除/usr/lib/libcaffe.so(之前安装过caffe可能会处这个问题)

你可能感兴趣的:(caffe)