0
我正在编写一个C++程序来监视一个值并更改笔记本电脑上触摸板和跟踪点的启用状态。除了调用XIChangeProperty之外,我有一切工作。当我运行make时,抛出获取对XIChangeProperty的未定义引用
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