CMake не может найти SDL2?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 CMake не может найти SDL2?

Сообщение Anonymous »

Пытаюсь скомпилировать и собрать исполняемый файл Windows из GitHub: https://github.com/0xBAMA/Voraldo13
Я клонировал репозиторий с помощью Visual Studio, а затем пытаюсь настроить в CMake, который не может найти SDL2.
Изображение

Меня попросили перевести это изображение в текст, чтобы сделать его доступным для поиска. Переменные возвращают следующие значения:



ИМЯ
ЗНАЧЕНИЕ




CMAKE_CONFIGURATION_TYPES
Отладка;Выпуск;MinSizeRel;RelWithDebInfo


CMAKE_INSTALL_PREFIX
C:/Program Files (x86)/Voraldo


SDL2MAIN_LIBRARY
НЕ НАЙДЕНО


SDL2_INCLUDE_DIRНЕ НАЙДЕНО


SDL"_LIBRARY_TEMP
НЕ НАЙДЕНО



И эти ошибки:< /p>

Код: Выделить всё

CMake Error at C:/Program Files/CMake/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
Could NOT find SDL2 (missing: SDL2_LIBRARY SDL2_INCLUDE_DIR)
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
cmake/FindSDL2.cmake:163 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:13 (find_package)
Я не совсем уверен, из какой версии SDL2 взять, кажется, здесь: https://github.com/libsdl-org/SDL
SDL2.dll — это файл, который я получаю при загрузке версии 2.26.4, что соответствует дате последнего обновления репозитория...
Ни куда его поместить, и как заставить CMake найти это?
В CMakeLists.txt репозитория я вижу это:

Код: Выделить всё

cmake_minimum_required( VERSION 3.16 )

project( Voraldo VERSION 1.2 LANGUAGES C CXX )

set( CMAKE_CXX_STANDARD 17 )
set( CMAKE_CXX_STANDARD_REQUIRED True )
set( CMAKE_CXX_FLAGS "-std=c++17 -lstdc++fs -O4" )
set( CMAKE_REQUIRED_FLAGS -lstdc++fs )

# this makes SDL2 work
set( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake )

find_package( SDL2 REQUIRED )
add_library( sdl2 INTERFACE )
target_include_directories( sdl2
INTERFACE
${SDL2_INCLUDE_DIR}
)
target_link_libraries( sdl2
INTERFACE
${SDL2_LIBRARY}
${CMAKE_DL_LIBS}
)
Но мне неясно, что это значит и где он будет искать SDL2.
Какой SDL2 мне нужен и куда его поместить это так, чтобы CMake мог его найти?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -find-sdl2
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»