当前位置:首页 > 我的程序 > 正文内容

VC++ 版本升级常见错误一句集。

Peirre4年前 (2021-07-21)我的程序663

很多程序源码从低VC版本到高VC版本就发现不能编译,现在说一下常见问题。

warning C4838: 从“unsigned int”转换到“INT”需要收缩转换。

这是因为 int 整形变量在不同的机器上长度不一样,而VC系统又会自动识别和补充类型定义,如果数据数值 不大,可以忽视。

1>c:\users\pierre\desktop\d3d11codeset\common\d3dutil.h(78): error C2065: “D3DX11_FILTER_LINEAR”: 未声明的标识符

未声明的标识符,这个问题,从低版本VC到高版本VC出现的问题,是VC的SDK扩展包的版本和VC头文件常量定义不一样,未声明是新版VCd头文件没定义这个值 。

1>c:\users\pierre\desktop\d3d11codeset\common\d3dutil.h(88): error C2143: 语法错误: 缺少“;”(在“std::wstring”的前面)

这个缺少;是结构或变量前有 类似于 __m128  _float 等变量限定义不存在,老版本VC如果不存在这值 将忽视编译通过。

版本不同,那一个结构可能多一个变量,少一个变量。而这些结构又在VC的默认文件头里。

有的SDK包的包含文件已经在windows SDK 里面 如naxmath.h 在 win sdk 目录um 中名为 directxmath.h 不过版本要配套。


如果是win10+DX11SDK 链接有错误 如 __vsnwprintf_s 错误时可以在依赖库中加入legacy_stdio_definitions.lib 这个库

如果是宏定义重复,宏的参数一样可以不管它,一定要比较宏定义的值。

待... ...

分享给朋友:

相关文章

关于 Cannot enable. Maybe the USB cable is bad? 这个问题。

关于 Cannot enable. Maybe the USB cable is bad? 这个问题。

经常摆弄电脑,那USB接口也是插进,拔出多少次。有一天发生了这个问题,什么问题呢?见图:只要是linux 新内核,都会出现这个问题,虚拟机USB功能,DOSBOX等USB功能不可识别。在网上查看了一些...

关于DOSBOX的简单说明。

关于DOSBOX的简单说明。

linux 下的共享软件DOSBOX 在有些版本的linux 中不能使用鼠标。网上说明要换声卡地址和中断,连接鼠标端口才可以使用。 曾经设置过,可以使用参数不记得。有个解决方法。这是软件问题。 先卸载...

USB设备的插入机制与USB驱动故障。

USB设备的插入机制与USB驱动故障。

USB主机检测设备,首先在USB集线器的每个端口的D+,D-上,分别接了一个15K欧姆的下拉电阻到地。集线器端口为空时,被这两个电阻拉低了电平。在USB设备端,D+或者D- 上接了上拉1.5K电阻。全...

我谈易语言

我谈易语言

易语言是一个集成打包的中文编程的语言。说实话,只要在电脑上的程序,易语言都可以用自己的方式实现。易语言可以开发linux 控制台下的图文程序和工具,十分好用。易语言的源码和例子量很大,精华源码例子已经...

nasm 汇编命令2021年2月后增补。

nasm 汇编命令2021年2月后增补。

;=========================================================== ;nasm 增补新汇编命令集 ; ;引用方式  ;把icpup.inc...

编译文件的各种LIB文件分析

编译文件的各种LIB文件分析

玩计算机的都知道,计算机执行的是机器指令。机器指令是手工输入的,后来有了汇编语言。汇编语言很是方便,加了很多辅助符号帮助人们使用机器指令。很多重复的指令功能,就用宏和函数过程来反复使用。后来就有了C语...