Компоновщик не может открыть SDL.lib при использовании CMake?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Компоновщик не может открыть SDL.lib при использовании CMake?

Сообщение Anonymous »

У меня есть небольшой консольный проект для Windows. Я создаю его с помощью Visual Studio (но с использованием CMake). Это работает.
Мне не удалось добавить в него SDL2, этап связывания завершился неудачно.
Это мой CMakeLists.txt:

Код: Выделить всё

project ("CMakeProject")

set(SDL2_DIR "${CMAKE_SOURCE_DIR}/SDL2-2.30.9")

include_directories(${SDL2_DIR}/include)
message(STATUS "SDL2 include: ${SDL2_DIR}/include")

if (${CMAKE_SIZEOF_VOID_P} MATCHES 8)
set(SDL2_LIBRARIES "${SDL2_DIR}/lib/x64/SDL2.lib;${SDL2_DIR}/lib/x64/SDL2main.lib")
else ()
set(SDL2_LIBRARIES "${SDL2_DIR}/lib/x86/SDL2.lib;${SDL2_DIR}/lib/x86/SDL2main.lib")
endif ()
message(STATUS "SDL2 lib: ${SDL2_LIBRARIES}")

add_executable (CMakeProject "CMakeProject.cpp" "CMakeProject.h")

if (CMAKE_VERSION VERSION_GREATER 3.12)
set_property(TARGET CMakeProject PROPERTY CXX_STANDARD 20)
endif()

target_link_libraries(CMakeProject SDL2 SDL2main)
Я вижу, что папки правильные по нескольким причинам:
  • Шаг сборки выполнен успешно; это доказывает, что значение ${SDL2_DIR}/include правильное.
  • Код: Выделить всё

    ${SDL2_DIR}/include
    отображается в консоли. Я вижу, что это правильно.
  • Код: Выделить всё

    ${SDL2_LIBRARIES}
    тоже отображается. Я вижу, что это правильно. Я сравниваю пути рядом, и это правильный путь к SDL2.lib. D:\......\CMakeProject\SDL2-2.30.9\lib
Тем не менее, я получаю ошибку LNK1104 «невозможно откройте файл «SDL2.lib». Я в полном недоумении.
Почему?

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

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

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

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

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

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

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