原因:strcasecmp是BSD/POSIX标准,非ANSI标准,所以微软并不支持。

strcasecmp最早出现在4.4BSD,后来加入到Posix标准里。MS的一直用_stricmp函数,功能完全一样。

方案一:stricmp替换strcasecmp ;strnicmp替换strncasecmp,即可。

之后貌似还会报错:

error C4996: 'strnicmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strnicmp. See online         help for details. D:\CAFFE_ROOT\src\caffe\common.cpp

解决办法:

这个问题在VS 2012之前的版本中是不会当做错误的,只是提出一个警告。为了避免报错,可以使用以下两个宏定义来屏蔽掉这种        错误。

在common.cpp文件的属性->c/c++->预处理器->预处理器定义   中添加:

_CRT_SECURE_NO_DEPRECATE

_CRT_NONSTDC_NO_DEPRECATE

方案二:用VC SDK中的函数来代替,在main函数外面步添加一下代码即可:

#ifdef _MSC_VER
#define strcasecmp stricmp
#define strncasecmp  strnicmp
#endif

方案三:自己添加该函数的声明和定义

第一步:.h文件添加:

#ifdef _MSC_VER
int strcasecmp(char *s1, char *s2);
int strncasecmp(char *s1, char *s2, register int n);
#endif

第二部:.c文件中添加

#ifdef _MSC_VER
int strcasecmp(char *s1, char *s2)
{while  (toupper((unsigned char)*s1) == toupper((unsigned char)*s2++))if (*s1++ == '') return 0;return(toupper((unsigned char)*s1) - toupper((unsigned char)*--s2));
}int strncasecmp(char *s1, char *s2, register int n)
{while (--n >= 0 && toupper((unsigned char)*s1) == toupper((unsigned char)*s2++))if (*s1++ == '')  return 0;return(n < 0 ? 0 : toupper((unsigned char)*s1) - toupper((unsigned char)*--s2));
}
#endif

vs2015 中无法链接strcasecmp 和 strncasecmp的解决办法相关推荐

  1. 雷塞SMC304系列控制器VC6.0例程在VS2015下编译遇到的若干问题及解决办法

    雷塞SMC304系列控制器VC6.0例程在VS2015下编译遇到的若干问题及解决办法 标签(空格分隔): 雷塞 SM304 WIN10 VS2015 最近由于导师要求,负责喷涂机器人的控制部分,接触到 ...

  2. 蓝奏云链接打不开的解决办法

    蓝奏云链接打不开的解决办法: 1. 将www改成pan或删掉www 2.将lanzous或lanzoux中的s或x改成i或删掉 3.修改DNS为114.114.114.114 或 114.114.11 ...

  3. VS中无法解析的外部命令的解决办法

    VS中无法解析的外部命令的解决办法 报错LNK2005外部符号 报错LNK2019外部符号 报错LNK1120外部符号 解决办法1: 检查自己报错的代码里,是否有类里声明的函数没有对应的实现.比如在p ...

  4. cadz轴归零命令_关于CAD中Z轴坐标归零问题的解决办法

    原标题:关于CAD中Z轴坐标归零问题的解决办法 微信名:CAD吧 每日经典CAD解决方案 ❶ 史上最齐全的CAD下载链接:http://pan.baidu.com/s/1skP5jhb 密码:9qm2 ...

  5. Linux中buff/cache内存占用过高解决办法

    Linux中buff/cache内存占用过高解决办法 在Linux系统中,我们经常用free命令来查看系统内存的使用状态.在一个centos7的系统上,free命令的显示内容大概是这样一个状态: 这个 ...

  6. 【Linux】linux中某个命令找不到的解决办法

    问题 在linux系统中执行 php -v,提示: 解决办法: 1.查看当前系统的环境变量 php 安装好后,直接执行 php 时,系统首先会去/usr/bin下寻找命令,如果不在这个目录中,当然就会 ...

  7. 微服务架构中的雪崩问题产生原因及解决办法

    微服务架构中的雪崩问题产生原因及解决办法 参考文章: (1)微服务架构中的雪崩问题产生原因及解决办法 (2)https://www.cnblogs.com/panchanggui/p/10330924 ...

  8. Xamarin中VS无法连接Mac系统的解决办法

    Xamarin中VS无法连接Mac系统的解决办法 按照以下步骤排查: (1)确认Mac系统中安装Xamarin.iOS开发必备的组件,如Mono.Xamarin.iOS. (2)将Windows和Ma ...

  9. Spring MVC普通类或工具类中调用service报空空指针的解决办法(调用service报java.lang.NullPointerException)...

    当我们在非Controller类中应用service的方法是会报空指针,如图: 这是因为Spring MVC普通类或工具类中调用service报空null的解决办法(调用service报java.la ...

  10. html子布局不超出父布局,详解flex布局中保持内容不超出容器的解决办法

    在移动端,flex 布局很好用,它能够根据设备宽度来自动调整容器的宽度,用起来很方便,已经越来越离不开它,但是最近在做项目的时候发现一个问题. 就是在一个设置了 flex:1 的容器中,如果文字很长, ...

最新文章

  1. LeetCode 1224. 最大相等频率(哈希)
  2. php 后期绑定,PHP __DIR__评估运行时(后期绑定)?
  3. 写入和读取外部存储文件
  4. linux基础命令学习笔记(二)
  5. java 线程安全集合
  6. zabbix 监控项自动发现过滤_zabbix怎么使用自动发现添加新监控项
  7. Oracle 12c新特性--ASMFD(ASM Filter Driver)特性
  8. python培训全套免费教程百度云202
  9. unity使用TUIO协议
  10. 小企业怎样选择服务器和操作系统
  11. 解决windows下无法ctrl+A全选数据快捷键的问题
  12. 炉石传说 爬取全部卡牌
  13. 做为一名大数据新手,如何成为大数据工程师?附上学习路线
  14. Pytorch官方教程练习之数据加载和处理
  15. Quick #UE4 Tip (第1周 2020.12.5)
  16. AdaBoost算法-课堂笔记
  17. 【11年华科计算机考研经验】追梦华中大-我的漫漫考研路
  18. Python 调试器 - ipdb
  19. P1417 烹调方案
  20. 网易微专业python数据分析统计服_40套大数据云计算高级实战精品,数据分析,数据仓库,数据爬虫,项目实战,用户画像, ......

热门文章

  1. Harmony OS — RoundProgressBar圆形进度条
  2. 《Android软件安全与逆向分析》— Android 书籍
  3. apache jmeter 使用
  4. [MCSM]随机搜索和EM算法
  5. 802.1W RSTP
  6. 常用网络协议的端口号
  7. NetDevOps网络设备日志分析与环境搭建-EFK(Elasticsearch+Filebeat+Kibana)
  8. IS-IS快速收敛调优配置实例
  9. 华三 h3c STP生成树保护配置
  10. cisco 的端口聚合