1
任何想法,爲什麼我會得到這個錯誤?:錯誤: 'BadDevice' 沒有在這個範圍內聲明
error: ‘BadDevice’ was not declared in this scope
我已經包括:
#include <X11/Xlib.h>
和
#include <X11/extensions/XInput2.h>
在我的類頭文件中。
我這樣使用它:
int ret = XIGrabDevice(display_, 2, LinuxInputManager::getWindow(),
CurrentTime, None, GrabModeAsync,
GrabModeAsync, False, &eventMask_);
if (ret == BadValue)
std::cout << "bad value" << std::endl;
else if (ret == BadDevice)
std::cout << "BadDevice" << std::endl;
if (ret == BadMatch)
std::cout << "BadMatch" << std::endl;
if (ret == BadWindow)
std::cout << "BadWindow" << std::endl;
if (ret) {
std::cout << "not available 3" << std::endl;
}
乾杯
賈勒特
顯示我們'BadDevice'聲明,大概一個'enum' –
嗯,這是從功能'XIGrabDevice',這是一個返回值在'X11/extensions/XInput2.h'中定義(ala http://linux.die.net/man/3/xigrabdevice)。我是否需要自己定義這些?如果是這樣,我分配給他們什麼值? – Jarrett
好吧,看起來BadDevice沒有在任何地方的X頭文件中定義。但是,它在手冊頁上列出爲可能的返回值。也許手稿頁是陳舊的?不知道... – Jarrett