简体   繁体   English

编译Caffe分类时出错

[英]Error compiling caffe classification

I'm trying to compile a caffe classification example on OS X 10.10.5, with the following command: 我正在尝试使用以下命令在OS X 10.10.5上编译caffe分类示例:

g++ -ggdb `pkg-config --cflags --libs opencv` -I /Users/SullyChen/caffe/include -I /usr/local/cuda/include -I /usr/local/Cellar/openblas/0.2.15/include -lboost_system -lglog -lprotobuf classification.cpp -o classification

But I get the following error: 但是我收到以下错误:

Undefined symbols for architecture x86_64:
  "caffe::ReadProtoFromBinaryFile(char const*, google::protobuf::Message*)", referenced from:
      caffe::ReadProtoFromBinaryFileOrDie(char const*, google::protobuf::Message*) in classification-ff6167.o
  "caffe::Net<float>::CopyTrainedLayersFrom(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)", referenced from:
      Classifier::Classifier(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in classification-ff6167.o
  "caffe::Net<float>::Forward(float*)", referenced from:
      Classifier::Predict(cv::Mat const&) in classification-ff6167.o
  "caffe::Net<float>::Reshape()", referenced from:
      Classifier::Predict(cv::Mat const&) in classification-ff6167.o
  "caffe::Net<float>::Net(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, caffe::Phase, caffe::Net<float> const*)", referenced from:
      Classifier::Classifier(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in classification-ff6167.o
  "caffe::Blob<float>::mutable_cpu_data()", referenced from:
      Classifier::SetMean(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in classification-ff6167.o
      Classifier::WrapInputLayer(std::__1::vector<cv::Mat, std::__1::allocator<cv::Mat> >*) in classification-ff6167.o
  "caffe::Blob<float>::Reshape(int, int, int, int)", referenced from:
      Classifier::Predict(cv::Mat const&) in classification-ff6167.o
  "caffe::Blob<float>::FromProto(caffe::BlobProto const&, bool)", referenced from:
      Classifier::SetMean(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in classification-ff6167.o
  "caffe::Caffe::Get()", referenced from:
      caffe::Caffe::set_mode(caffe::Caffe::Brew) in classification-ff6167.o
  "caffe::BlobProto::BlobProto()", referenced from:
      Classifier::SetMean(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in classification-ff6167.o
  "caffe::BlobProto::~BlobProto()", referenced from:
      Classifier::SetMean(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in classification-ff6167.o
  "caffe::Blob<float>::cpu_data() const", referenced from:
      Classifier::Predict(cv::Mat const&) in classification-ff6167.o
      Classifier::Preprocess(cv::Mat const&, std::__1::vector<cv::Mat, std::__1::allocator<cv::Mat> >*) in classification-ff6167.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Any ideas on what the problem is? 关于什么是问题的任何想法?

Oh my goodness I forgot to link Caffe... Well that problem is solved. 哦,我的天哪,我忘了链接Caffe。。。这个问题解决了。

Edit: Here is the command I used in case anyone needs it 编辑:这是我使用的命令,以防有人需要

g++ -ggdb `pkg-config --cflags --libs opencv` -I /Users/SullyChen/caffe/include -I /usr/local/cuda/include -I /usr/local/Cellar/openblas/0.2.15/include -lboost_system -lglog -lprotobuf -L /Users/SullyChen/caffe/.build_release/lib -lcaffe classification.cpp -o classification

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM