Ошибка соединения Vista / Win 7 SDK bufferoverflowu.lib - PullRequest
3 голосов
/ 11 февраля 2010

Я скачал Windows SDK 7.0A, чтобы изучить некоторые вещи, о которых я читал. Я скачал несколько примеров, которые работают с SDK, но когда я пытаюсь скомпилировать их, я получаю сообщение об ошибке. Я посмотрел в каталоге Lib SDK и не смог найти его. Я также сделал полный системный поиск и также не нашел его.

Я читал, что это специальная ссылка, добавленная при компиляции, или результат проверки версии в прагме. Я не смог найти ссылки на lib в исходном коде или во всех заголовочных файлах.

Я бегу:
Vista Ultimate
VS 2010 Beta 2
Microsoft Windows SDK для Windows 7 и .NET Framework 3.5 с пакетом обновления 1

Моя ошибка:

ошибка LNK1104: не удается открыть файл 'bufferoverflowu.lib'

Я только что переустановил и все еще получаю ту же проблему.

1 Ответ

11 голосов
/ 11 февраля 2010

Какой именно образец вы пытаетесь создать - небольшое исследование показывает, что bufferoverflowu.lib (и другие связанные bufferoverflow*.lib файлы) были в предыдущих SDK для поддержки сборки с компиляторами до и после того, как Microsoft добавила возможность компилятора генерировать проверки переполнения буфера (начиная с опции / GS в VS 2003 - я думаю).

Библиотеки были в SDK, так что если пользователь создал программу Windows с компилятором, который не поддерживал проверки переполнения буфера, библиотеки SDK, которые были созданы таким образом, связывались бы с кодом в bufferoverflow*.lib для получить поддержку. Если бы пользователь собирал с более новым компилятором, все связывалось бы с библиотекой времени выполнения C, которая имела поддержку переполнения буфера.

Однако Windows SDK v7.0 поддерживает сборку приложений только с VS 2005 SP1 или новее, поэтому код проверки переполнения буфера всегда поступает из среды выполнения C - файл bufferoverflow*.lib больше не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...