Я создаю приложение с использованием группы библиотек SDL2 для Windows. Я использую CMake и Visual C++. Чтобы получить библиотеки, я использовал pacman в M2SYS в версии MINGW64. Вот что он думает:
$ pacman -Qs sdl2
local/mingw-w64-ucrt-x86_64-SDL2 2.30.8-1
A library for portable low-level access to a video framebuffer, audio output, mouse, and
keyboard (Version 2) (mingw-w64)
local/mingw-w64-ucrt-x86_64-SDL2_gfx 1.0.4-2
SDL graphics drawing primitives and other support functions (Version 2) (mingw-w64)
local/mingw-w64-ucrt-x86_64-SDL2_image 2.8.2-3
A simple library to load images of various formats as SDL surfaces (Version 2) (mingw-w64)
local/mingw-w64-ucrt-x86_64-SDL2_sound 2.0.2-1
A library to decode several popular sound file formats, such as .WAV and .MP3 (mingw-w64)
local/mingw-w64-ucrt-x86_64-SDL2_ttf 2.22.0-1
A library that allows you to use TrueType fonts in your SDL applications (Version 2) (mingw-w64)
Когда я ищу файлы, включающие, например, sdl2_gfx, я вижу следующее:
C:\msys64\ucrt64\bin\libSDL2_gfx-1-0-0.dll
C:\msys64\ucrt64\include\SDL2\SDL2_gfxPrimitives.h
C:\msys64\ucrt64\lib\libSDL2_gfx.a
C:\msys64\ucrt64\lib\libSDL2_gfx.dll.a
C:\msys64\ucrt64\lib\pkgconfig\SDL2_gfx.pc
C:\msys64\ucrt64\share\licenses\SDL2_gfx
Но затем я пытаюсь выполнить сборку из файла CMakeLists.txt, как показано ниже, и получаю такие ошибки:
LNK1104 cannot open file 'SDL2_gfx.lib'
Если я уточню и изменю ссылку на библиотеку на libSDL2_gfx.a, она затем начнет искать libSDL2_gfx.a.lib, та же ошибка.
Компоновщик CMake ищет неправильные вещи. Как лучше всего уговорить его поискать нужную вещь? (Или Pacman предлагает правильные вещи?)
Вот CMakeLists.txt:
cmake_minimum_required(VERSION 3.28)
project(my-project)
set (CMAKE_CXX_STANDARD 11)
set (TEST Library/Win/Drawbox.Win.cpp Test/CheckerCheckerBoardBoard.cpp Library/Win/Keyboard.Win.cpp)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
include_directories(. Library Tools Toolkit APClass Library/jpeg)
include(Library/CMakeLists.txt)
include(Tools/CMakeLists.txt)
include(APClass/CMakeLists.txt)
add_library(Drawbox STATIC ${DRAWBOX} ${TOOLS} ${APCLASS})
add_executable(TestProgram ${TEST} ${DRAWBOX} ${TOOLS} ${APCLASS})
target_compile_features(Drawbox PUBLIC cxx_std_11)
target_compile_options(Drawbox PRIVATE )
target_compile_features(TestProgram PUBLIC cxx_std_11)
target_compile_options(TestProgram PRIVATE )
#add_executable(Test Test/ClickDraw.cpp)
target_link_libraries(TestProgram ${SDL2_LIBRARIES} libSDL2_gfx.a
SDL2_image
SDL2_ttf
SDL2_mixer
)
Подробнее здесь: https://stackoverflow.com/questions/793 ... -libraries
Как заставить CMake и MSYS2/pacman работать вместе над библиотеками? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
В mingw/msys2 используйте «pip install abc» или «pacman -S mingw-w64-i686-python-abc»?
Anonymous » » в форуме Python - 0 Ответы
- 98 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Проблемы со связью с библиотеками OpenCV, установленными MSYS2, в коде Visual Studio.
Anonymous » » в форуме C++ - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-