Ошибка компоновки Vista / Win 7 SDK bufferoverflowu.lib
Я скачал 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 ответ
Какой именно образец вы пытаетесь построить - небольшое исследование показывает, что 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
Файл больше не должен быть необходим.