Caffe在Windows下编译还是遇到不少麻烦的...

1.visual studio 2013 error C2371: 'int8_t'
: redefinition;

引入的unistd.h文件里面重定义了int8_t  ,用记事本 打开文件注销之。

2. error C3861: 'getpid': identifier not found    C:\Tools\caffe-master\src\caffe\common.cpp    26

     解决:在common.cpp 里面添加 #include <process.h>

修改:

   pid = getpid(); ——>pid = _getpid();

3.  error C3861: 'usleep': identifier not found    C:\Tools\caffe-master\src\caffe\test\test_benchmark.cpp    65

参考:ffmpeg编译总结

7.出现 'usleep': identifier not found

这里因为VC中没有usleep,usleep是微妙级别的,所以需要把代码改为

     usleep(is->audio_st && is->show_audio ? rdftspeed*1000 : 5000);
—> Sleep (is->audio_st && is->show_audio ? rdftspeed*1 : 5);
usleep(300 * 1000); —> Sleep(300);

添加:#include <windows.h>

4. error C3861: 'snprintf': identifier not found    C:\Tools\caffe-master\src\caffe\solver.cpp    331

参考:http://blog.163.com/wanghuajie@126/blog/static/452312862009111114434838/

在solver.cpp里面添加      #include <stdio.h>

snprintf  修改为 _snprintf

5. error C3861: '__builtin_popcount': identifier not found    C:\Tools\caffe-master\src\caffe\util\math_functions.cpp    346

参考:http://blog.csdn.net/rappy/article/details/1788969

      __builtin_popcount 这是一个GCC的函数:计算一个 32 位无符号整数有多少个位为1

解决:自己写一个函数__builtin_popcount

template <typename Dtype>
unsigned int __builtin_popcount(Dtype u)
{
    u = (u & 0x55555555) + ((u >> 1) & 0x55555555);
    u = (u & 0x33333333) + ((u >> 2) & 0x33333333);
    u = (u & 0x0F0F0F0F) + ((u >> 4) & 0x0F0F0F0F);
    u = (u & 0x00FF00FF) + ((u >> 8) & 0x00FF00FF);
    u = (u & 0x0000FFFF) + ((u >> 16) & 0x0000FFFF);
    return u;
}//wishchin!!!

6.error : identifier "::caffe::kBNLL_THRESHOLD" is undefined in device code    C:\Tools\caffe-master\src\caffe\layers\bnll_layer.cu    36

参考:

解决:在bnll_layer.cu    里修改

        Dtype expval = exp(min(in_data[index], Dtype(kBNLL_THRESHOLD)));
——>Dtype expval = exp(min(in_data[index], Dtype(50)));

7. error C2660: 'mkdir' : function does not take 2 arguments    C:\Tools\caffe-master\src\caffe\test\test_data_layer.cpp    71

参考:

解决:

   CHECK_EQ(mkdir(filename_->c_str(), 0744), 0) << "mkdir " << filename_<< "failed";

里面的第二个参数去掉。

8.error C2784: '_Ty std::max(std::initializer_list<_Elem>,_Pr)' : could not de

解决:调用函数处 把std::max 用括号 括起来  (std::max)(std::initializer_list<

9.error C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS.

参考:http://www.zhihu.com/question/26242158

解决:应该这样添加 -D去掉 属性-> c\c++ -> 预处理器 -> 预处理器定义 里添加 _SCL_SECURE_NO_WARNINGS 编译成功 ,

XXX:不断出现的

error C1075: end of file found before the left parenthesis '(' at '  test_infogain_loss_layer.cpp    71

       也没有找到哪里错了。应该是Define语句出现问题, 貌似可以不用管它.............

最新文章

  1. Web网站中利用JavaScript中ActiveXObject对象获取硬件信息(显示器数量、分辨率)从而进行单双屏跳转
  2. Microsoft Naive Bayes 算法——三国人物身份划分
  3. ORACLE 错误:oralce record is locked by another user
  4. PHP 生成随机字符串与唯一字符串
  5. iOS二十种超酷时尚艺术滤镜汇总【附源码】
  6. CSS_复习
  7. hdu 5753 Permutation Bo
  8. 如何自学java迅速成为java高手
  9. 有关autoresizingMask属性遇到的一个小问题
  10. Android全局异常捕捉
  11. 201521123039《java程序设计》第十四周学习总结
  12. kubernetes入门(04)kubernetes的核心概念(1)
  13. brk和mmap(转)
  14. Java进阶(十)java tomcat中context配置
  15. mac下安装Python3.*(最新版本)
  16. 面试题解:输入一个数A,找到大于A的一个最小数B,且B中不存在连续相等的两个数字
  17. vuejs2.0如何获取dom元素自定义属性值
  18. HDU 1542 Atlantis(扫描线)题解
  19. linux目录文件及系统启动知识
  20. loj#2483. 「CEOI2017」Building Bridges 斜率优化 cdq分治

热门文章

  1. 【codeforces 527D】Clique Problem
  2. ansible使用jinja2管理配置文件以及jinja2语法简介
  3. Linux Container测试之block IO
  4. Linux局域网搭建
  5. SIS
  6. IOS6.0自带下拉刷新控件UIRefreshControl
  7. 学习笔记—— 一些UPDATE语句
  8. Privoxy shadowscocks代理
  9. Python入门 六、像个 Pythonista
  10. C# 标准命名规范