2017-08-07 8 views
0

私は値を監視し、私のラップトップ上のタッチパッドとトラックポイントの有効状態を変更するC++プログラムを作成しています。私はXIChangePropertyへの呼び出しを除いてすべての機能を持っています。私はmakeを実行すると、私はソースから#include <X11/extensions/XInput.h>を削除した場合、それは別のエラーをスローし、XIChangePropertyへの未定義の参照の取得

undefined reference to `XIChangeProperty' 

をスローします。

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) 

を次のように

私のcmakeのファイルには、私はそれがXIChangePropertyは未定義を示すために引き起こす行方不明です何かわからないです。

コードの残りの部分とGitHubのレポはこちらhttps://github.com/kfechter/YogaModeSwitch

答えて

0

であることは、私はcmakeのにlink_libraries($ {X11_Xinput_LIBを})を添加した後、私はcmakeのファイル

にリンカディレクティブがありませんでしたが判明しますファイル、cmake、makeが動作するようになりました。

関連する問題