2017-05-11 14 views
-1

当我运行一个朱古力的项目,这个问题发生:首先,我已经安装了朱古力成功,但是当我运行一个朱古力项目,cmake的是好的,后来化妆发出许多错误

../lib/libcaffe.so.1.0.0: undefined reference to `caffe::BlockingQueue<boost::shared_ptr<caffe::DataReader::QueuePair> >::size() const' 
../lib/libcaffe.so.1.0.0: undefined reference to `caffe::BlockingQueue<boost::shared_ptr<caffe::DataReader::QueuePair> >::pop(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' 
../lib/libcaffe.so.1.0.0: undefined reference to `caffe::BlockingQueue<caffe::Datum*>::pop(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' 
../lib/libcaffe.so.1.0.0: undefined reference to `caffe::BlockingQueue<boost::shared_ptr<caffe::DataReader::QueuePair> >::push(boost::shared_ptr<caffe::DataReader::QueuePair> const&)' 
../lib/libcaffe.so.1.0.0: undefined reference to `caffe::BlockingQueue<caffe::Datum*>::try_pop(caffe::Datum**)' 
../lib/libcaffe.so.1.0.0: undefined reference to `caffe::BlockingQueue<caffe::Datum*>::push(caffe::Datum* const&)' 
../lib/libcaffe.so.1.0.0: undefined reference to `caffe::BlockingQueue<boost::shared_ptr<caffe::DataReader::QueuePair> >::BlockingQueue()' 
../lib/libcaffe.so.1.0.0: undefined reference to `caffe::BlockingQueue<caffe::Datum*>::BlockingQueue()' 
collect2: error: ld returned 1 exit status 

tools/CMakeFiles/compute_image_mean.dir/build.make:129: recipe for target 'tools/compute_image_mean' failed 

make[2]: *** [tools/compute_image_mean] Error 1 

CMakeFiles/Makefile2:581: recipe for target 'tools/CMakeFiles/compute_image_mean.dir/all' failed 

make[1]: *** [tools/CMakeFiles/compute_image_mean.dir/all] Error 2 

make[1]: *** Waiting for unfinished jobs.... 
+0

欢迎来到StackOverflow。请在提问前尝试使用Google搜索。 – lnman

+0

可能有些.so文件在您的机器上缺失,这就是为什么您有“未定义的引用”错误,因为链接器找不到从libcaffe.so.1.0.0调用的函数的定义。 –

回答

0

我有同样的问题也是如此,答案是caffe最近重构了代码,它们删除了很多已存在的文件,包括data_reader.hpp,因此你的旧caffe项目不再编译新的代码

+0

非常感谢你! –

相关问题