2017-05-03 54 views
1

我用opencv编译最新的caffe-1.0时出现了一个bug。
我使用gcc-4.8.5在cuda8.0和cudnn5.1上编译它在ubuntu14.04上。
我试过不同版本的opencv(2.4.8,2.4.13,3.2.0),但是错误在继续。
的错误如下:编译ubuntu14.04上的caffe-1.0时出现opencv错误

/usr/include/opencv2/core/core.hpp:4127:9: error: expected identifier before ‘float’ 
FLOAT=REAL, //!< synonym or REAL 
^ 
/usr/include/opencv2/core/core.hpp:4127:9: error: expected ‘}’ before ‘float’ 
In file included from examples/cpp_classification/classification.cpp:3:0: 
/usr/include/opencv2/core/core.hpp:4127:14: error: expected unqualified-id before ‘=’ token 
FLOAT=REAL, //!< synonym or REAL 
^ 
/usr/include/opencv2/core/core.hpp:4140:22: error: expected unqualified-id before ‘)’ token 
CV_WRAP FileNode(); 
^ 
/usr/include/opencv2/core/core.hpp:4142:14: error: expected unqualified-id 
before ‘const’ 
FileNode(const CvFileStorage* fs, const CvFileNode* node); 
^ 
/usr/include/opencv2/core/core.hpp:4142:14: error: expected ‘)’ before ‘const’ 
/usr/include/opencv2/core/core.hpp:4144:14: error: expected unqualified-id before ‘const’ 
FileNode(const FileNode& node); 
^ 
/usr/include/opencv2/core/core.hpp:4144:14: error: expected ‘)’ before ‘const’ 
/usr/include/opencv2/core/core.hpp:4146:49: error: non-member function ‘cv::FileNode cv::operator[](const string&)’ cannot have cv-qualifier 
FileNode operator[](const string& nodename) const; 

回答

0

我sloved自己的问题。

由于我编译并安装了最新的OpenBlas库,版本0.2.19,因此发生错误。文件cblas.h导致了opencv问题。

我刚刚在/ usr/local/include中重命名为cblas.h,因此命令make将使用/ usr/include中的cblas.h并最终成功。