Нет доступного видеоустройства 'при компиляции с CMake - PullRequest
0 голосов
/ 29 мая 2020

Я могу скомпилировать свой код с помощью Makefile, и он отлично работает. Когда я пытаюсь запустить тот же код, скомпилированный с помощью Cmake, SDL_GetError() говорит:

'Нет доступного видеоустройства'

Я думаю, что что-то не так с моим CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)

set(CMAKE_C_STANDARD  90)
set(CMAKE_C_STANDARD_REQUIRED True)

project(RTv1)

set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)

set(SOURCES ...)

find_package(SDL2 REQUIRED)

add_executable(${PROJECT_NAME} ${SOURCES})

get_filename_component(SDL2_INCLUDE_DIR_PARENT ${SDL2_INCLUDE_DIR} DIRECTORY)

target_include_directories(${PROJECT_NAME}
        PUBLIC
        ${SDL2_INCLUDE_DIR}
        )

target_include_directories(${PROJECT_NAME}
        PUBLIC
        ${SDL2_INCLUDE_DIR_PARENT}
        )

target_include_directories(${PROJECT_NAME}
        PUBLIC
        ${PROJECT_SOURCE_DIR}/include
        )

target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARY})

Выполняется Linux Mint 19.1 Tessa, самостоятельно собранный SDL2 в папке libsdl / проекта, findSDL работает нормально, компиляция прошла успешно, Clion 2019.3.3

1 Ответ

2 голосов
/ 30 мая 2020

У меня были неустановленные зависимости, это помогло:

sudo apt-get install build-essential mercurial make cmake autoconf automake \
libtool libasound2-dev libpulse-dev libaudio-dev libx11-dev libxext-dev \
libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxxf86vm-dev \
libxss-dev libgl1-mesa-dev libdbus-1-dev libudev-dev libgles2-mesa-dev \
libegl1-mesa-dev libibus-1.0-dev fcitx-libs-dev libsamplerate0-dev \
libsndio-dev libwayland-dev libxkbcommon-dev
...