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

标签 c++ visual-studio-2010 winapi

我下载了 Windows SDK 7.0A 来探索我正在阅读的一些内容。我下载了一些适用于 SDK 的示例,但当我尝试编译它们时出现错误。我查看了SDK的lib目录,没有找到。我也进行了完整的系统搜索,但也没有找到。

我读到这是在编译时添加的特殊链接或编译指示中版本检查的结果。我在源代码或所有头文件中找不到对 lib 的任何引用。

我在跑:
远景终极版
VS 2010 测试版 2
适用于 Windows 7 和 .NET Framework 3.5 Service Pack 1 的 Microsoft Windows SDK

我的错误:

error LNK1104: cannot open file 'bufferoverflowu.lib'

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

最佳答案

您究竟要构建什么示例 - 一些研究表明 bufferoverflowu.lib(以及其他相关的 bufferoverflow*.lib 文件)在以前的 SDK 中以支持在 Microsoft 添加编译器生成缓冲区溢出检查功能之前和之后使用编译器进行构建(我认为是从 VS 2003 中的/GS 选项开始)。

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

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

关于c++ - Vista/Win 7 SDK bufferoverflowu.lib 链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2242665/

相关文章:

c++ - 控制台应用程序中的 Linux Qt QSystemTrayIcon

c++ - 没有可行的重载

c++ - 使用 QWT 和 Microsoft Visual C++ 2010 绘制 MatLab 等效图

c++ - C++ 中的字节数组

c - 如何检查可执行文件是否以管理员身份运行?

c - NULL_PEN 和 PS_NULL 有区别吗?

c++ - 为什么命令不执行?

c++ - 继承和派生属性在 C++ 中消失

c - Windows : the C library or corresponding Win32 API functions? 下层是什么

JavaScript 数学公式编辑器?