SDL2 полностью статическая линковка. (MVS)

382
01 мая 2017, 03:27

1.Я гружу с официального сайта код SDL 2.0.5

2.В папке VisualC открываю проект на MVS 2017 и перенастраиваю проект SDL2 на статическую библиотеку. Просто переключаю пункт Общее->Тип проекта на статичекую библиотеку.

3.Начинаю сборку всех конфигураций проектов через пакетную сборку : SDL2, SDL2main

4.Закидываю это в папку тестового проекта и подключаю к нему SDL2main.lib SDL2.lib opengl32.lib glew32s.lib Однако получаю ошибку

1>SDL2.lib(SDL_systimer.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__timeGetTime@0 в функции _SDL_GetTicks_REAL
1>SDL2.lib(SDL_systimer.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__timeBeginPeriod@4 в функции _SDL_SetSystemTimerResolution
1>SDL2.lib(SDL_systimer.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__timeEndPeriod@4 в функции _SDL_SetSystemTimerResolution
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _GetFileVersionInfoSizeA@8 в функции _IME_GetId
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _GetFileVersionInfoA@16 в функции _IME_GetId
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _VerQueryValueA@16 в функции _IME_GetId
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmGetIMEFileNameA@12 в функции _IME_SetupAPI
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmGetContext@4 в функции _WIN_SetTextInputRect
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmReleaseContext@8 в функции _WIN_SetTextInputRect
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmAssociateContext@8 в функции _IME_Enable
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmGetCompositionStringW@16 в функции _IME_GetCompositionString
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmSetCompositionStringW@24 в функции _IME_ClearComposition
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmGetCandidateListW@16 в функции _IME_GetCandidateList
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmNotifyIME@16 в функции _IME_ClearComposition
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmSetCompositionWindow@8 в функции _WIN_SetTextInputRect
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveOutGetNumDevs@0 в функции _DetectWaveOutDevs
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveOutGetDevCapsW@12 в функции _DetectWaveOutDevs
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveOutGetErrorTextW@12 в функции _SetMMerror
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveOutOpen@24 в функции _PrepWaveFormat
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveOutClose@4 в функции _WINMM_CloseDevice
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveOutPrepareHeader@12 в функции _WINMM_OpenDevice
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveOutUnprepareHeader@12 в функции _WINMM_CloseDevice
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveOutWrite@12 в функции _WINMM_PlayDevice
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveOutReset@4 в функции _WINMM_CloseDevice
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveInGetNumDevs@0 в функции _DetectWaveInDevs
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveInGetDevCapsW@12 в функции _DetectWaveInDevs
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveInOpen@24 в функции _PrepWaveFormat
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveInClose@4 в функции _WINMM_CloseDevice
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveInPrepareHeader@12 в функции _WINMM_OpenDevice
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveInUnprepareHeader@12 в функции _WINMM_CloseDevice
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveInAddBuffer@12 в функции _WINMM_CaptureFromDevice
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveInStart@4 в функции _WINMM_OpenDevice
1>SDL2.lib(SDL_winmm.obj) : error LNK2019: ссылка на неразрешенный внешний символ __imp__waveInReset@4 в функции _WINMM_CloseDevice
1>C:\Users\Deucalion\Documents\VSProjects\OGL_test\build\Windows\Debug\OGL_test.exe : fatal error LNK1120: неразрешенных внешних элементов: 33

Где я допустил ошибку?

После подключения winmm.lib остались ошибки:

1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _GetFileVersionInfoSizeA@8 в функции _IME_GetId
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _GetFileVersionInfoA@16 в функции _IME_GetId
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _VerQueryValueA@16 в функции _IME_GetId
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmGetIMEFileNameA@12 в функции _IME_SetupAPI
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmGetContext@4 в функции _WIN_SetTextInputRect
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmReleaseContext@8 в функции _WIN_SetTextInputRect
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmAssociateContext@8 в функции _IME_Enable
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmGetCompositionStringW@16 в функции _IME_GetCompositionString
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmSetCompositionStringW@24 в функции _IME_ClearComposition
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmGetCandidateListW@16 в функции _IME_GetCandidateList
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmNotifyIME@16 в функции _IME_ClearComposition
1>SDL2.lib(SDL_windowskeyboard.obj) : error LNK2019: ссылка на неразрешенный внешний символ _ImmSetCompositionWindow@8 в функции _WIN_SetTextInputRect
Answer 1

Необходимо подключить ещё:

winmm.lib
imm32.lib
version.lib

Всем спасибо за помощь.

READ ALSO
Как конвертировать символы unicodе в буквы русского алфавита

Как конвертировать символы unicodе в буквы русского алфавита

У меня есть строка "\u0410\u0410 1000 \u0410\u0410", это ответ с сервераМне нужно конвертировать ее, чтобы исходная срока имела вид: АА 1000 АА

387
Поиск в ширину или поиск в глубину

Поиск в ширину или поиск в глубину

Надо обойти все вершины графа в любом порядкеЧто лучше использовать: поиск в ширину или в глубину? Какие преимущества и недостатки у алгоритмов...

255
Переменная = empty

Переменная = empty

Можно ли в c++ новосозданной переменной присвоить значение empty?

314
Аналог std::map с минимальным расходом памяти

Аналог std::map с минимальным расходом памяти

Существует ли аналог std::map с оптимизацией по используемой памяти?

338