Получение неопределенной ссылки на XIChangeProperty

Я пишу программу на C ++ для отслеживания значения и изменения включенного состояния сенсорной панели и трекпойнта на моем ноутбуке. У меня все работает, кроме звонка в XIChangeProperty. Когда я запускаю make, он бросает

 undefined reference to `XIChangeProperty'

Если я удалю #include <X11/extensions/XInput.h> из источника выдает другую ошибку.

мой файл cmake выглядит следующим образом

cmake_minimum_required(VERSION 2.8.4)
set(CMAKE_INSTALL_PREFIX "/")
set(CPACK_PACKAGING_INSTALL_PREFIX "/")

project(thinkpad_yoga_mode_detection)

set (PROJECT_VERSION "1.0")
set (PACKAGE "${PROJECT_NAME}")
set (VERSION "${PROJECT_VERSION}")
set (PACKAGE_NAME "${PACKAGE}")
set (PACKAGE_TARNAME "${PACKAGE}")
set (PACKAGE_VERSION "${VERSION}")
set (PACKAGE_STRING "${PACKAGE} ${VERSION}")

set(CMAKE_CXX_STANDARD 11)

find_package(X11 REQUIRED)
link_libraries(${X11_LIBRARIES})
include_directories(${X11_INCLUDE_DIR})

set(CMAKE_CXX_FLAGS "-O2")
set(CMAKE_CXX_FLAGS "-Wall")set(SOURCE_FILES YogaModeSwitch.cpp)
add_executable(yoga_mode_switch ${SOURCE_FILES})
install(TARGETS yoga_mode_switch DESTINATION usr/bin)
install(
FILES yoga_mode_switch_daemon DESTINATION etc/init.d
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ)

Я не уверен, что мне не хватает, что заставило бы XIChangeProperty показывать как неопределенное.

GitHub репо с остальным кодом здесь https://github.com/kfechter/YogaModeSwitch

0

Решение

Оказывается, я пропустил директиву компоновщика в файле cmake

Как только я добавил link_libraries ($ {X11_Xinput_LIB}) в файл cmake, cmake и make начали работать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]