vs2015 中无法链接strcasecmp 和 strncasecmp的解决办法
原因: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的解决办法相关推荐
- 雷塞SMC304系列控制器VC6.0例程在VS2015下编译遇到的若干问题及解决办法
雷塞SMC304系列控制器VC6.0例程在VS2015下编译遇到的若干问题及解决办法 标签(空格分隔): 雷塞 SM304 WIN10 VS2015 最近由于导师要求,负责喷涂机器人的控制部分,接触到 ...
- 蓝奏云链接打不开的解决办法
蓝奏云链接打不开的解决办法: 1. 将www改成pan或删掉www 2.将lanzous或lanzoux中的s或x改成i或删掉 3.修改DNS为114.114.114.114 或 114.114.11 ...
- VS中无法解析的外部命令的解决办法
VS中无法解析的外部命令的解决办法 报错LNK2005外部符号 报错LNK2019外部符号 报错LNK1120外部符号 解决办法1: 检查自己报错的代码里,是否有类里声明的函数没有对应的实现.比如在p ...
- cadz轴归零命令_关于CAD中Z轴坐标归零问题的解决办法
原标题:关于CAD中Z轴坐标归零问题的解决办法 微信名:CAD吧 每日经典CAD解决方案 ❶ 史上最齐全的CAD下载链接:http://pan.baidu.com/s/1skP5jhb 密码:9qm2 ...
- Linux中buff/cache内存占用过高解决办法
Linux中buff/cache内存占用过高解决办法 在Linux系统中,我们经常用free命令来查看系统内存的使用状态.在一个centos7的系统上,free命令的显示内容大概是这样一个状态: 这个 ...
- 【Linux】linux中某个命令找不到的解决办法
问题 在linux系统中执行 php -v,提示: 解决办法: 1.查看当前系统的环境变量 php 安装好后,直接执行 php 时,系统首先会去/usr/bin下寻找命令,如果不在这个目录中,当然就会 ...
- 微服务架构中的雪崩问题产生原因及解决办法
微服务架构中的雪崩问题产生原因及解决办法 参考文章: (1)微服务架构中的雪崩问题产生原因及解决办法 (2)https://www.cnblogs.com/panchanggui/p/10330924 ...
- Xamarin中VS无法连接Mac系统的解决办法
Xamarin中VS无法连接Mac系统的解决办法 按照以下步骤排查: (1)确认Mac系统中安装Xamarin.iOS开发必备的组件,如Mono.Xamarin.iOS. (2)将Windows和Ma ...
- Spring MVC普通类或工具类中调用service报空空指针的解决办法(调用service报java.lang.NullPointerException)...
当我们在非Controller类中应用service的方法是会报空指针,如图: 这是因为Spring MVC普通类或工具类中调用service报空null的解决办法(调用service报java.la ...
- html子布局不超出父布局,详解flex布局中保持内容不超出容器的解决办法
在移动端,flex 布局很好用,它能够根据设备宽度来自动调整容器的宽度,用起来很方便,已经越来越离不开它,但是最近在做项目的时候发现一个问题. 就是在一个设置了 flex:1 的容器中,如果文字很长, ...
最新文章
- LeetCode 1224. 最大相等频率(哈希)
- php 后期绑定,PHP __DIR__评估运行时(后期绑定)?
- 写入和读取外部存储文件
- linux基础命令学习笔记(二)
- java 线程安全集合
- zabbix 监控项自动发现过滤_zabbix怎么使用自动发现添加新监控项
- Oracle 12c新特性--ASMFD(ASM Filter Driver)特性
- python培训全套免费教程百度云202
- unity使用TUIO协议
- 小企业怎样选择服务器和操作系统
- 解决windows下无法ctrl+A全选数据快捷键的问题
- 炉石传说 爬取全部卡牌
- 做为一名大数据新手,如何成为大数据工程师?附上学习路线
- Pytorch官方教程练习之数据加载和处理
- Quick #UE4 Tip (第1周 2020.12.5)
- AdaBoost算法-课堂笔记
- 【11年华科计算机考研经验】追梦华中大-我的漫漫考研路
- Python 调试器 - ipdb
- P1417 烹调方案
- 网易微专业python数据分析统计服_40套大数据云计算高级实战精品,数据分析,数据仓库,数据爬虫,项目实战,用户画像, ......