Visual Studio 2005 移植 - WINVER,warning C4996, error LINK1104

Visual Studio 2005 移植 - WINVER,warning
C4996, error LINK1104

一、WINVER
  Compile result:
 
WINVER not defined. Defaulting to 0x0502 (Windows Server
2003)

  windows   server  
2003  
 
winver>=0x0502  
     
 
windows   xp    
 
winver>=0x0501  
     
 
windows   2000  
 
winver>=0x0500  
     
 
windows   nt   4.0  
 
winver>=0x0400  
     
 
windows   me  
 
winver>=0x0500  
     
 
windows   98  
 
winver>=0x0410  
     
 
windows   95  
 
winver>=0x0400   

二、编译警告:warning C4996 与 Security
Enhancements in the CRT

将过去的工程用VS2005打开的时候。你有可能会遇到一大堆的警告:warning
C4996。
比如:
warning C4996: ‘fopen‘: This function or variable may be
unsafe. Consider using fopen_s instead. To disable deprecation,
use 

_CRT_SECURE_NO_WARNINGS. See online help for
details.
warning C4996: ‘sprintf‘: This function or variable may be
unsafe. Consider using sprintf_s instead. To disable
deprecation, 

use _CRT_SECURE_NO_WARNINGS.

原因是Visual
C++ 2005使用了更加安全的run-time library routines。
新的Security CRT
functions(就是那些带有“_s”后缀的函数):
http://msdn2.microsoft.com/en-us/library/wd3wzwts(VS.80).aspx

那么如何搞定这些警告呢:
方法一:将原来的旧函数替换成新的Security
CRT
functions。
方法二:用以下方法屏蔽这个警告。
1.在预编译头文件stdafx.h里(注意:一定要在没有include任何头文件之前)定义下面的宏:
 
#define _CRT_SECURE_NO_DEPRECATE
2.#param
warning(disable:4996)
3.更改预处理定义:
  项目->属性->配置属性->C/C++
-> 预处理器 ->
预处理器定义,增加_CRT_SECURE_NO_DEPRECATE 
方法三:方法二没有使用新的更安全的CRT函数,显然不是一个值得推荐的方法,可是你又不想一个一个地改,那么还有一个更方便的方法:
 
在预编译头文件stdafx.h里(同样要在没有include任何头文件之前)定义下面的宏:
  #define
_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1
 
在链接的时候便会自动将旧函数替换成Security CRT
functions。
注意:这个方法虽然使用了新的函数,但是不能消除警告(原因见红字),你还得同时使用方法二。。。

三、link
error 1104
原因:当从vc6移植到.net时,会导致这个链接错误!
解决:项目属性->配置属性->链接器->输入->忽略特定库,加入libcd.lib;或直接在命令行中加入:
/nodefaultlib:"libcd.lib"
注意:是否是libcd.lib,与C/C++属性中的“代码生成”选项相关

参考:
Security Enhancements in the CRT

http://msdn2.microsoft.com/en-us/library/8ef0s5kh(VS.80).aspx
Secure
Template Overloads

http://msdn2.microsoft.com/en-us/library/ms175759(VS.80).aspx

Visual Studio 2005 移植 - WINVER,warning C4996, error
LINK1104,码迷,mamicode.com

Visual Studio 2005 移植 - WINVER,warning C4996, error
LINK1104

时间: 2024-10-12 10:26:05

Visual Studio 2005 移植 - WINVER,warning C4996, error LINK1104的相关文章

Visual Studio 2005 学习笔记一 入门

转载自:http://blog.163.com/zm_shichaoren/blog/static/6880234120087211452776/ Visual studio 2005入门记 终于卸掉了Visual C++6.0,换上了全新的Visual C++2005.尽管是简体中文版的,但是功能强大的Visual studio 2005 IDE庞大的开发环境和N多的配置设置,学习起来还不是很简单.C++/CLI通过对ISO C++ 标准的纯粹扩展和新语法,不像传统的MS-DOS 控制台程序,

在 Oracle 数据库上使用 Visual Studio 2005 或 2008 构建 .NET 应用程序 了解构建使用 Oracle 数据库的 .NET 应用程序所涉及到的基本但不可或缺的过程。

随着 Microsoft 的 .NET Framework 的日益流行,许多开发人员迫切想了解关于将 .NET 应用程序与 Oracle 集成的最佳方法的信息 - 不仅在基本连通性方面,还包括与使用 Visual Studio 2005 或 2008 进行有效应用程序开发的关系. 在本文中,我将说明构建使用 Oracle 数据库的 .NET 应用程序所涉及到的基本但不可或缺的过程,包括: 如何添加工程引用,以在您的 .NET 工程中支持 Oracle 类 如何创建 Oracle 数据库连接字符串

Visual Studio 2005 自带单元测试

一 单元测试简介 单元测试是代码正确性验证的最重要的工具,也是系统测试当中最重要的环节.也是唯一需要编写代码才能进行测试的一种测试方法.在标准的开发过程中,单元测试的代码与实际程序的代码具有同等的重要性.每一个单元测试,都是用来定向测试其所对应的一个单元的数据是否正确. 单元测试是由程序员自己来完成,最终受益的也是程序员自己.可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试.执行单元测试,就是为了证明这段代码的行为和我们期望的一致. 单元测试还具有一下几个好处:  能

安装Symantec Backup Exec报“microsoft visual C++ 2005 SP1 command line syntax error.”

OS:Windows Server 2008 R2 standard 报错如下所示: 解决方法: 由于安装源的文件夹目录为中文,更改其目录为英文后安装测试正常. 参考: http://zhidao.baidu.com/question/176383841.html?qbl=relate_question_0 安装Symantec Backup Exec报"microsoft visual C++ 2005 SP1 command line syntax error.",布布扣,bubu

Visual Studio 2005 搭建Windows CE 6.0环境之准备

Microsoft Visual Studio 2005 Visual Studio 2005 Professional 官方90天试用版英文版:http://download.microsoft.com/download/e/0/4/e04de840-8f6b-4fe5-ac3d-d3ad8e4c2443/En_vs_2005_Pro_90_Trial.img中文版:http://download.microsoft.com/download/5/c/2/5c2840fd-8b03-492e-

visual studio 2005提示脚本错误 /VC/VCWizards/2052/Common.js

今天在做OCX添加接口的时候,莫名其妙的遇到visual studio 2005提示脚本错误,/VC/VCWizards/2052/Common.js. 网上找了很多资料,多数介绍修改注册表“vs2005 MFC资源编辑添加成员变量向导出现脚本错误的解决方法”,或者重装ie8. 整了半天,重启vs2005或者windows都不好使. 最后发现把vs2005的中间目录删除了就可以正常使用了. 这种情况比较坑,整理下以作记录,后续可参考.

Visual Studio 2005各试用版官方下载地址

Visual Studio 2005 Team Suite 180-Day Trial 180 天试用版是一款限时.但功能完备的 Visual Studio 2005 Team Suite 版本.试用版媒体包包括了功能完备的 Visual Studio 2005 Team Foundation Server 180 天试用版. En_vs_2005_vsts_180_Trial.img(英文) Chs_vs_2005_VSTS_180_Trial.img(中文) Visual Studio 20

关于visual studio 2005的中文版下载(最新详细下载点)

http://202.194.11.48/Portal/News/shownews.aspx?PTCTctid=316 Visual.Studio.2005.简体中文版(TS) 2006-2-27 9:36:53   Visual.Studio.2005.简体中文版(Team Suit) 附件列表:   Visual.Studio.2005.简体中文版.iso (1.5G) Visual.Studio.2005.简体中文版MSDN.ISO (1.6G) Visual Studio 2005简体中

vue-electron 使用sqlite3数据库,执行npm run build 报错 .NET Framework 2.0 SDK,Microsoft Visual Studio 2005[C:\temp\wechat\node_modules\sqlite3\build\binding.sln]

问题描述 vue-electron 使用sqlite3数据库,执行npm run build 报错如下: .NET Framework 2.0 SDK,Microsoft Visual Studio 2005[C:\temp\wechat\node_modules\sqlite3\build\binding.sln]Failed to execute 'C:\Program Files (x86)\nodejs\node.exe C:\Program Files (x86)\nodejs\nod