1 error C2589: “(”: “::”右边的非法标记 error C2059: 语法错误 : “::
摘自:https://www.cnblogs.com/polly333/p/5148537.html
size.Width = (std::max)(size.Width, elementSize.Width);
函数模板max与Visual C++中的全局的宏max冲突
2编译提示:error C4996 : 'GetVersionExW' : 被声明为已否决
解决办法:
1、项目 >> 属性 >> C / C++ >> 常规 >> sdl检查,选择“否”
2、项目 >> 属性 C++ >> 预处理 中加入 _CRT_SECURE_NO_WARNINGS
3、#pragmawarning(disable: 4996)
类似的提示错误:
错误 C4996 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
3 See documentation on how to use Visual C++ 'Checked Iterators'
解决办法:
右键项目-->属性--> 【通用配置】/【c/c++】/ 【预处理器】中第一行 【预处理器定义】中右边点击编译 ,在最下方加入_SCL_SECURE_NO_WARNINGS 确定即可;
注意: 添加的是_SCL_SECURE_NO_WARNINGS 去掉提示错误-D_SCL_SECURE_NO_WARNINGS前面的-D ;
error C4996: 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::copy':
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.
See documentation on how to use Visual C++ 'Checked Iterators'
4 fatal error C1900: “P1”(第“20150812”版)和“P2”(第“20130802”版)之间 Il 不匹配
libmpeg.lib(mpeg-ps-enc.obj) : 找到 MSIL .netmodule 或使用 /GL 编译的模块;正在使用 /LTCG 重新启动链接;将 /LTCG 添加到链接命令行以改进链接器性能
fatal error C1900: “P1”(第“20150812”版)和“P2”(第“20130802”版)之间 Il 不匹配
LINK : fatal error LNK1257: 代码生成失败
说明 20150812说明是当前VS为2015版本的开发环境,而libmpeg.lib使用的确实VS2013版本的开发环境编译出来的lib,出现链接错误,重新编译一遍libmpeg.lib即可