Я настроил свой файл CMakeLists следующим образом:
Код: Выделить всё
set(CMAKE_SYSTEM_NAME Windows)
set(TOOLCHAIN_PREFIX x86_64-w64-mingw32)
# cross compilers to use for C, C++ and Fortran
set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}-g++)
set(CMAKE_Fortran_COMPILER ${TOOLCHAIN_PREFIX}-gfortran)
set(CMAKE_RC_COMPILER ${TOOLCHAIN_PREFIX}-windres)
# target environment on the build host system
set(CMAKE_FIND_ROOT_PATH /usr/${TOOLCHAIN_PREFIX})
# modify default behavior of FIND_XXX() commands
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
find_package(SDL2 REQUIRED)
find_package(SDL2_Image REQUIRED)
include_directories(${SDL2_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIRS} )
target_link_libraries(MyFirstProject ${SDL2_LIBRARIES} ${SDL2_IMAGE_LIBRARIES} )
неопределенная ссылка на `SDL_Init'
Я знаю, что каталоги включения найдены, потому что, если я управляю щелчком по функции SDL2, я могу видеть файл заголовка:

Но по какой-то причине сами библиотеки не найдены. Я вижу их там, где у меня установлен компилятор x86_64-w64-mingw32, но проект их не находит. Есть ли что-то, чего мне не хватает в моем CMake? Когда я компилирую для Linux, все работает.
Подробнее здесь: https://stackoverflow.com/questions/791 ... -locate-th