Как статически связать SDL3 с помощью CMake и C++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как статически связать SDL3 с помощью CMake и C++?

Сообщение Anonymous »

Я создаю 64-битную игру для Windows с использованием SDL3, CMake и C++. Мне удалось с помощью моего CMakeLists.txt динамически связать мою программу с SDL3. Я использую компилятор C++ MinGW-w64 и не хочу, чтобы пользователь устанавливал SDL3.
Мой файл CMakeLists.txt выглядит так:

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

cmake_minimum_required(VERSION 3.20)
project(space_adventure CXX)

set(CMAKE_PREFIX_PATH "C:/sdl3")
find_package(SDL3 REQUIRED CONFIG)

file(GLOB_RECURSE "sources" "src/*.cpp")

add_executable(space_adventure ${sources})
target_link_libraries(space_adventure PRIVATE SDL3::SDL3)
И я попробовал это:

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

cmake_minimum_required(VERSION 3.20)
project(space_adventure CXX)

set(CMAKE_PREFIX_PATH "C:/sdl3")
find_package(SDL3-static REQUIRED CONFIG)

file(GLOB_RECURSE "sources" "src/*.cpp")

add_executable(space_adventure ${sources})
target_link_libraries(space_adventure PRIVATE SDL3::SDL3-static)
Я получил эту ошибку при попытке второго:

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

CMake Error at CMakeLists.txt:5 (find_package):
By not providing "FindSDL3-static.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"SDL3-static", but CMake did not find one.

Could not find a package configuration file provided by "SDL3-static" with
any of the following names:

SDL3-staticConfig.cmake
sdl3-static-config.cmake

Add the installation prefix of "SDL3-static" to CMAKE_PREFIX_PATH or set
"SDL3-static_DIR" to a directory containing one of the above files.  If
"SDL3-static" provides a separate development package or SDK, be sure it
has been installed.
Я предполагаю, что установил неправильный пакет. А именно, я установил и разархивировал SDL3-3.2.28-win32-x86.zip из версии 3.2.28 в C:/SDL3, который представляет собой предварительно созданный пакет. Должен ли я использовать SDL3-devel-3.2.28-mingw.tar.gz? Поскольку я считаю, что он предназначен для компилятора C++ MinGW-w64, это может быть решением. Однако я не совсем уверен.


Подробнее здесь: https://stackoverflow.com/questions/798 ... make-and-c
Ответить

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

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

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

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

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