在caffe中使用C++ 11特性的编译问题
来源:互联网 发布:淘宝网商银行无法贷款 编辑:程序博客网 时间:2024/06/07 01:56
有时在编写caffe代码时为了简便可能会使用C++98之后的一些新特性,如果不对caffe的默认编译选项进行修改则会产生诸如“xxx is not a member of ‘std’”或者某些函数没有匹配声明的错误。例如C++11新增的一些特性如:
- numeric中的iota函数:
template< class ForwardIterator, class T >void iota( ForwardIterator first, ForwardIterator last, T value );
其作用等价于:
template<class ForwardIterator, class T>void iota(ForwardIterator first, ForwardIterator last, T value){ while(first != last) { *first++ = value++; }}
- 可以自定义比较操作的sort函数:
template< class RandomIt > void sort( RandomIt first, RandomIt last );template< class RandomIt, class Compare > void sort( RandomIt first, RandomIt last, Compare comp ); (since c++ 11)
- lambda函数定义:
Dtype* a;[&a](size_t i1, size_t i2) {return a[i1]<a[i2];} ;
为了解决这个问题,可以在Makefile中的g++编译命令里添加-std=c++11的flag。对于caffe,则是在
CXXFLAGS += -pthread -fPIC $(COMMON_FLAGS) $(WRANINGS)
之后添加-std=c++11
该问题遇到和解决所在的环境为Ubuntu 16.04 64bit,gcc 5.4.0
阅读全文
0 0
- 在caffe中使用C++ 11特性的编译问题
- 在编译caffe中遇到问题集锦
- 【caffe-windows】在windows下编译caffe出现的问题
- 【问题汇总】在C/C++中使用Android Log导致编译失败的问题
- 在C#.net中定义和使用自己的特性
- [caffe使用]caffe使用中可能遇到的问题总结
- caffe 使用中遇到的问题
- Caffe使用中遇到的问题
- 使用caffe ssd中遇到的问题
- 在c++中使用c编译好的库
- caffe编译的路径问题
- caffe编译的路径问题
- caffe编译碰到的问题
- 在CMD中使用cl.exe编译的问题
- 使用Caffe的问题
- 在MFC中调用深度学习caffe,出现的问题。
- 如何在C#.net中自定义和使用特性
- 如何在C#.net中自定义和使用特性
- 记录一次关于synchronized同步代码块的问题
- Linux下把git连接到github
- MySQL-日期字符串(****年**月**日 格式)转Date类型
- C++中的宏定义问题
- 语言学笔记
- 在caffe中使用C++ 11特性的编译问题
- libopencv_X.so.2.4: cannot open shared object file: No such file or directory
- CADFileConverter v4.0 1CD+CORMIX.v9.0.GTR 1CD
- 简单底部导航片段
- eclipse修改项目名称添加到tomcat server 时新项目名称后面小括号有原先项目名称
- java 判断包装类类型总结
- refusing to merge unrelated histories
- mvc设计模式和mvc框架的区别
- 第五周 项目2