На данный вопрос уже ответили:
Я подключил SFML через этот CMakeLists.txt
include(mgw.cmake)
cmake_minimum_required(VERSION 2.8)
project(SFMLINCLUDETEST)
set(SFML_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/SFMLMGW/include)
set(SFML_LIB_DIR ${CMAKE_SOURCE_DIR}/SFMLMGW/lib)
#message(${SFML_LIB_DIR})
set(SFML_LIBRARIES
${SFML_LIB_DIR}/libsfml-graphics-s-d.a
${SFML_LIB_DIR}/libsfml-window-s-d.a
${SFML_LIB_DIR}/libsfml-system-s-d.a)
set(SFML_DEPENDENCIES
opengl32
winmm
gdi32
${SFML_LIB_DIR}/libfreetype.a
)
include_directories(${SFML_INCLUDE_DIR})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSFML_STATIC -static-libgcc -static-libstdc++")
add_executable(${PROJECT_NAME} "main.cpp")
target_link_libraries(${PROJECT_NAME} ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
Файл mgw.cmake просто говорит что нужно использовать mingw:
set(CMAKE_SYSTEM_NAME Windows)
set(TOOLCHAIN_PREFIX i686-w64-mingw32)
# cross compilers to use for C and C++
set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++)
set(CMAKE_RC_COMPILER ${TOOLCHAIN_PREFIX}-windres)
# target environment on the build host system
# set 1st to dir with the cross compiler's C/C++ headers/libs
set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX})
# modify default behavior of FIND_XXX() commands to
# search for headers/libs in the target environment and
# search for programs in the build host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
И у меня появляются ошибки такого рода:
../SFMLMGW/lib/libsfml-graphics-s-d.a(Texture.cpp.obj): In function `ZN2sf7TextureC2Ev':
D:\Programming\C++\Releases\MinGW32-PosixDwarf730r0\build-SFML\src\SFML\Graphics/D:/Programming/C++/Releases/_Sources/SFML/src/SFML/Graphics/Texture.cpp:72: undefined reference to `_Unwind_Resume'
и.т.д.
Как это исправить?
Если нужно:
Система: Linux Mint 19 tara
версия mingw: 7.3
версия SFML: 2.5.1
папка SFMLMGW лежит рядом с CMakeLists.txt
Как я понимаю это проблемы не CMakeLists.txt а компилятора, ведь файл CMakeLists.txt легко собирается
Такое ощущение, что вы схватили какие-то собранные библиотеки и они оказываются несовместимыми с остальным (в плане обработки исключений). Попробуйте собрать sfml самостоятельно, с использованием тех же настроек, что и в проекте.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
QtCreator не видит библиотеку QImage, хотя сам мне её предлагает в списке
Вылетает ошибка на андроиде 7+ и 8+ (6 и ниже - все как надо) при автообновлении приложенияКод: