VS工程迁移换机编译时遇到的WINDOW SDK缺失问题(C1083    无法打开包括文件: “stdio.h”:)及解决:

一、工程换机编译报错类似以下:

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    C1083    无法打开包括文件: “stdio.h”: No such file or directory    VideoTransService    e:\work\source_new_protocol\videotransservice\gb28181_common.h    3    
错误    C1083    无法打开包括文件: “ctype.h”: No such file or directory    VideoTransService    c:\program files (x86)\windows kits\8.1\include\um\winnt.h    31    
错误    C1083    无法打开包括文件: “corecrt.h”: No such file or directory    VideoTransService    c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\include\crtdefs.h    10    
错误    C1083    无法打开包括文件: “corecrt.h”: No such file or directory    VideoTransService    c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\include\crtdefs.h    10    
错误    C1083    无法打开包括文件: “corecrt.h”: No such file or directory    VideoTransService    c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\include\crtdefs.h    10    
错误    C1083    无法打开包括文件: “io.h”: No such file or directory    VideoTransService    e:\work\source_new_protocol\videotransservice\log\log.cpp    2    
 

一般为WINDOW SDK未能正确匹配造成.这时需要检查是否正确安装了SDK.

然后在工程属性中-VC++目录-包含目录及引用目录中加入类似:C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt

 

二、 还需要在库目录中加入类似:C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x86;否则可能有以下报错:

错误    LNK1104    无法打开文件“libucrt.lib” 

三、应该注意SDK版本,如版本不匹配会有类似以下报错:

1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\winnt.h(18496): error C2059: 语法错误:“字符串”
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\winnt.h(18496): error C2334: “:”的前面有意外标记;跳过明显的函数体
1>c:\program files (x86)\windows kits\10\include\10.0.17763.0\um\winnt.h(19785): fatal error C1903: 无法从以前的错误中恢复;正在停止编译 

发现过一个现象是用低版本比如8.1版本编译出的工程,如果在引用目录 里使用上述10版本以上是可编译通过的,但“WINDOWS SDK版本”须选择8.1版本,选择10.0.17763版本时会报上述错误。

四、有时用在共享 DLL 中使用 MFC时有以下错误:

严重性    代码    说明    项目    文件    行    禁止显示状态
错误(活动)    E0035    #error 指令:  Please use the /MD switch for _AFXDLL        C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023\atlmfc\include\afxver_.h    77    
错误    C1189    #error:  Please use the /MD switch for _AFXDLL     c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\atlmfc\include\afxver_.h    77    
错误    C1189    #error:  Please use the /MD switch for _AFXDLL    c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\atlmfc\include\afxver_.h    77    
错误    C1189    #error:  Please use the /MD switch for _AFXDLL    c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\atlmfc\include\afxver_.h    77    
 

 

换成:使用标准 Windows 库  就可以了。而不必真的切换MD选项。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值