Caffe+使用MKL进行PCA编译出错
2017-04-04 11:16
190 查看
caffe的blas库使用的是MKL,自己写的PCA也使用了MKL,在编译的时候始终通不过。报的错是cblas中的CblasNoTrans被重定义。
于是查看caffe源代码include/caffe/util/mkl_alternate.hpp中发现
#ifdef USE_MKL
#include <mkl.h>
#else // If use MKL, simply include the MKL header
extern "C" {
#include <cblas.h>
}
#include <math.h>
猜测可能是因为没有声明使用USE_MKL,于是头文件将cblas.h包含了进来,但是自己的PCA代码中include了mkl.h, 然后CblasNoTrans、CblasROwMajor等常量
被包含2次所以就报了错。
解决方法:在inlcude caffe.hpp 的前面声明使用MKL
#ifndef USE_MKL
#define USE_MKL
#endif
编译之后,便可以直接通过了
于是查看caffe源代码include/caffe/util/mkl_alternate.hpp中发现
#ifdef USE_MKL
#include <mkl.h>
#else // If use MKL, simply include the MKL header
extern "C" {
#include <cblas.h>
}
#include <math.h>
猜测可能是因为没有声明使用USE_MKL,于是头文件将cblas.h包含了进来,但是自己的PCA代码中include了mkl.h, 然后CblasNoTrans、CblasROwMajor等常量
被包含2次所以就报了错。
解决方法:在inlcude caffe.hpp 的前面声明使用MKL
#ifndef USE_MKL
#define USE_MKL
#endif
编译之后,便可以直接通过了
相关文章推荐
- EJB3.0中使用Ant进行编译出错的解决办法
- 从现在开始,使用Cmake进行编译OAI
- 怎样使用 CCache 进行 cocos2d-x 编译加速
- 使用JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength属性
- 使用PCA + KNN对MNIST数据集进行手写数字识别 python
- QT使用MySql的配置(使用addLibraryPath载入插件),编译QT的MySql驱动问题及解决方案(自己使用libmysql.lib进行编译mysql.pro,万不得已可以查看Makefile.Debug以解决问题)
- VS2008编译时总是出错,进行第二次编译时就没有问题了,不知道这是什么原因?
- Cmake编译OpenCV和如何在VS工程中配置来使用编译后的OpenCV进行跟踪调试问题
- GDB arm-linux交叉编译移植和使用方法(特别是对于正在运行的程序或者段错误的程序进行分析)
- 在ubuntu中使用gcc进行编译c,c++源程序并运行
- Intellij IDEA 使用jrebel运行spring-boot并实现自动编译进行热部署
- 检查是否使用tasm.exe进行编译
- 使用lfslivecd进行LFS内核编译
- WIN7 能够使用ADS1.2 进行编译
- 使用Subversion进行版本控制 针对 Subversion 1.4(根据r2866编译)-------<转载>这是重要的知识点
- VS2012+openCV 2.4.8进行编译:VS2012 64位 使用OPENCV应用程序不能正常启动 (0xc000007b)怎么处理?
- (转)Android使用ant对项目进行编译签名优化打包
- 使用fedora进行Android源码的编译
- 关于使用javac进行编译java文件时,出现的java.lang.NotClassDefFoundError解决
- 在Windows命令行中使用vs2005提供的编译、链接等工具对源程序进行处理