1. 主页 > vs安装问题 > VS2005安装问题 >

旧的vs2005或2008工程项目转换成vs2010更高版本时遇

问题一: 错误场景,公司给了我一个vs2008或vs2005的项目文件,我电脑只安装了vs2010,打开转换并编译出现如下错误:
  1. fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.


搜寻_WIN32_WINNT找到如下代码:
  1. #ifndef _WIN32_WINNT // 允许使用 Windows NT 4 或更高版本的特定功能。
  2. #define _WIN32_WINNT 0x0400 // 为 Windows98 和 Windows 2000 及更新版本改变为适当的值。
  3. #endif
更改为如下:
  1. #ifndef _WIN32_WINNT // 允许使用 Windows NT 4 或更高版本的特定功能。
  2. #define _WIN32_WINNT 0x0500 // 为 Windows98 和 Windows 2000 及更新版本改变为适当的值。
  3. #endif
编译顺利通过! ^-^
问题二:
  1. 1>d:\test_c\testrw\filedlg.cpp(118): warning C4996: 'sprintf': This function or variable may be unsafe. 
  2. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  3. 1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(371) : 参见“sprintf”的声明
  4. 1>d:\test_c\testrw\filedlg.cpp(142): warning C4996: 'fopen': This function or variable may be unsafe. 
  5. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  6. 1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(234) : 参见“fopen”的声明
复制_CRT_SECURE_NO_WARNINGS,右键其项目属性>>配置属性>>C/C++>>预处理器>>预处理器定义, 点击其下拉箭头里的[编辑],换行粘贴_CRT_SECURE_NO_WARNINGS,确定,应用,确定。。。 编译通过,那该死的警告也没有了! ^-^

问题三:
  1. warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

双击进入到有警告的文件, 点击>>【文件菜单】>>【高级保存选项】>>编码:Unicode(UTF-8)-代码页 65001  更改编码格式为【简体中文(GB2312)- 代码页936】或【Unicode】,总之是适合自己的编码格式 我这里更改为 Unicode - 代码页 1200 最遗憾的是多个文件要多次进行这样重复的操作,:( 有警告时的文件保存编码:
 我这里更改后的文件编码:
 编译通过,那该死的警告也没有了! ^-^

本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2005anzhuangwenti/2020/0721/715.html

联系我们

在线咨询:点击这里给我发消息

微信号:PREEE8

工作日:9:30-18:30,节假日休息