retro3fretro3f blog

SDL2 Статическая линковка

SDL2 Статическая линковка

Linker - (англ. Link Editor - компоновщик, редактор связей или линкер) - это инструментальная программа в сфере разработки программного обеспечения, которая производит компоновку, то есть принимает на вход один или несколько объектных модулей и собирает по ним исполнительный модуль. Линковка это процесс компоновки различных кусков кода и данных вместе, в результате чего получается один исполняемый файл. Линковка может быть выполнена во время компиляции, во время загрузки (загрузчиком) и также во время исполнения (исполняемой программой). Раньше (конец 40-х) линковка выполнялась вручную, сейчас мы имеем программы линковщики (linkers), которые дают возможность динамической линковки разделяемых библиотек (shared libraries).

  1. Скачиваем исходники библиотеки SDL
  2. Откройте решение Visual Studio (папка VisualC)
  3. Измените тип проекта для SDL2 и SDL2main: Общие -> Тип конфигурации -> Статическая библиотека
  4. Замените \MD на \MT: C/C++ -> Создание кода -> Библиотека времени выполнения
  5. Найдите SDL_config.h, добавьте строку #define HAVE_LIBC 1 сразу после строки #if defined(__WIN32__). Убедитесь, что вы сохранили файл.
  6. Выберите Release вместо Debug и скомпилируйте! Вы должны получить: SDL2.lib и SDL2main.lib
  7. Подключите в свой проект SDL2.lib и SDL2main.lib
  8. Укажите в линковщике следующие библиотеки: SDL2main.lib SDL2.lib winmm.lib imm32.lib version.lib Setupapi.lib
  9. Готово.