Я создаю приложение с использованием группы библиотек 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++
Программы на C++. Форум разработчиков
1736969303
Anonymous
Я создаю приложение с использованием группы библиотек 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
)
Подробнее здесь: [url]https://stackoverflow.com/questions/79359464/how-to-get-cmake-and-msys2-pacman-to-work-together-on-libraries[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия