Vista/Win 7 SDK bufferoverflowu.lib链接错误

Que*_*mer 3 c++ winapi visual-studio-2010

我下载了Windows SDK 7.0A来探索我正在阅读的一些内容.我下载了一些与SDK一起使用的示例,但是当我尝试编译它们时出现错误.我查看了SDK的Lib目录,但找不到它.我也做了一个完整的系统搜索,但也找不到它.

我已经读过这是在编译时添加的特殊链接或在pragma中进行版本检查的结果.我找不到源中的lib或所有头文件的任何引用.

我正在运行:
Vista Ultimate
VS 2010 Beta 2
Microsoft Windows SDK for Windows 7和.NET Framework 3.5 Service Pack 1

我的错误:

错误LNK1104:无法打开文件'bufferoverflowu.lib'

我刚刚重新安装,但仍然遇到同样的问题.

Mic*_*urr 11

您正在尝试构建什么样的示例 - 一些研究表明,bufferoverflowu.lib(以及其他相关bufferoverflow*.lib文件)在以前的SDK中支持使用编译器之前和之后的编译器构建,以便编译器生成缓冲区溢出检查(从VS 2003中的/ GS选项 - 我认为).

这些库位于SDK中,因此如果用户使用不支持缓冲区溢出检查的编译器构建Windows程序,那么以这种方式构建的SDK库将链接到该代码bufferoverflow*.lib以获得支持.如果用户使用较新的编译器构建,则所有内容都将链接到具有缓冲区溢出支持的C运行时库.

但是,Windows SDK v7.0仅支持使用VS 2005 SP1或更高版本构建应用程序,因此缓冲区溢出检查代码始终来自C运行时 - bufferoverflow*.lib不再需要该文件.