Почему при попытке кросс-компиляции для Windows с помощью CMake проект не может найти библиотеки SDL2?Linux

Ответить Пред. темаСлед. тема
Anonymous
 Почему при попытке кросс-компиляции для Windows с помощью CMake проект не может найти библиотеки SDL2?

Сообщение Anonymous »

Я использую Ubuntu и пытаюсь выполнить кросс-компиляцию для Windows. Я установил компилятор x86_64-w64-mingw32. Я установил библиотеки SDL2 и SDL_Image для x86_64-w64-mingw32.
Я настроил свой файл 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} )
Когда я приступаю к сборке проекта, я получаю ошибки, связанные с тем, что не удается найти код для SDL2:

неопределенная ссылка на `SDL_Init'

Я знаю, что каталоги включения найдены, потому что, если я управляю щелчком по функции SDL2, я могу видеть файл заголовка:
Изображение

Но по какой-то причине сами библиотеки не найдены. Я вижу их там, где у меня установлен компилятор x86_64-w64-mingw32, но проект их не находит. Есть ли что-то, чего мне не хватает в моем CMake? Когда я компилирую для Linux, все работает.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -locate-th
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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