关于Qt程序无法打开板子上的设备

LAZZZIER 2014-03-24 10:31:00
我的Qt程序在板子上运行的时候出现Error opening mouse device '/dev/mouse0': No such file or directory
查找了一下/dev目录,果然没有mouse0,但是在/dev/input目录下找到了mouse0
我想请教,怎么才能是我的程序打开mouse设备呢。Qt程序中并没有用到open,所以我也没法修改路径。
是不是只能在/dev目录下加载mouse模块才行?
...全文
487 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxianbin 2014-03-25
  • 打赏
  • 举报
回复
Qt5 的变化比较大,4.7和4.8 不是太大
LAZZZIER 2014-03-25
  • 打赏
  • 举报
回复
引用 12 楼 zhxianbin 的回复:
为何不干脆用 Qt4.8.5
之前在校学习的时候保存有4.7.0的源码,现在就直接用了,懒得在去弄新的版本。 版本之前区别很大吗?个人觉得应该不大吧
zhxianbin 2014-03-25
  • 打赏
  • 举报
回复
为何不干脆用 Qt4.8.5
LAZZZIER 2014-03-25
  • 打赏
  • 举报
回复
引用 8 楼 zhxianbin 的回复:
楼主还用的qt3?
引用错了···抱歉 已经不在用了,之前花了大量时间移植Qtopia2.2.0,但是Kdevelop不会用,Qt程序编译的时候总是不成功(QtGui:no such file or directory),各种添加修改环境变量都不行。 索性放弃了,现在用的Qt4.7.0
LAZZZIER 2014-03-25
  • 打赏
  • 举报
回复
引用 7 楼 lutao614 的回复:
改为export QWS_MOUSE_PROTO="linuxinput:/dev/input/event0 MouseMan:/dev/input/mouse0"试试!
已经不在用了,之前花了大量时间移植Qtopia2.2.0,但是Kdevelop不会用,Qt程序编译的时候总是不成功(QtGui:no such file or directory),各种添加修改环境变量都不行。 索性放弃了,现在用的Qt4.7.0
LAZZZIER 2014-03-25
  • 打赏
  • 举报
回复
引用 7 楼 lutao614 的回复:
改为export QWS_MOUSE_PROTO="linuxinput:/dev/input/event0 MouseMan:/dev/input/mouse0"试试!
问题已经解决,我的板子没有触摸屏,并且在/dev/input目录下发现有个mice设备。 我试着把变量改成QWS_MOUSE_PROTO="Intellimouse:/dev/input/mice"之后问题就解决。 虽然还是不太明白具体原因,但还在问题解决了 谢谢
zhxianbin 2014-03-25
  • 打赏
  • 举报
回复
楼主还用的qt3?
嵌入式乌托邦 2014-03-25
  • 打赏
  • 举报
回复
改为export QWS_MOUSE_PROTO="linuxinput:/dev/input/event0 MouseMan:/dev/input/mouse0"试试!
LAZZZIER 2014-03-24
  • 打赏
  • 举报
回复
引用 3 楼 lutao614 的回复:
修改Qt源码中的这个文件:src/gui/embedded/qmouselinuxinput_qws.cpp 将其中的QLatin1String("/dev/input/event0");路径改为你自己的,再试试
这是不是意味着我要重新编译Qt源码并且移植到板子上?
嵌入式乌托邦 2014-03-24
  • 打赏
  • 举报
回复
修改Qt源码中的这个文件:src/gui/embedded/qmouselinuxinput_qws.cpp 将其中的QLatin1String("/dev/input/event0");路径改为你自己的,再试试
LAZZZIER 2014-03-24
  • 打赏
  • 举报
回复
我查看了一下makefile,并没有发现哪里可以修改设备路径啊 能说具体点吗? CC = gcc CXX = g++ LEX = flex YACC = yacc CFLAGS = -pipe -g -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT CXXFLAGS = -pipe -g -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT LEXFLAGS = YACCFLAGS= -d INCPATH = -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/include/qt3 LINK = g++ LFLAGS = LIBS = $(SUBLIBS) -L/usr/share/qt3/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lpthread AR = ar cqs RANLIB = MOC = /usr/share/qt3/bin/moc UIC = /usr/share/qt3/bin/uic QMAKE = qmake TAR = tar -cf GZIP = gzip -9f COPY = cp -f COPY_FILE= $(COPY) COPY_DIR = $(COPY) -r INSTALL_FILE= $(COPY_FILE) INSTALL_DIR = $(COPY_DIR) DEL_FILE = rm -f SYMLINK = ln -sf DEL_DIR = rmdir MOVE = mv -f CHK_DIR_EXISTS= test -d MKDIR = mkdir -p ####### Output directory OBJECTS_DIR = ./ ####### Files HEADERS = analogclock.h SOURCES = analogclock.cpp \ main.cpp OBJECTS = analogclock.o \ main.o FORMS = UICDECLS = UICIMPLS = SRCMOC = moc_analogclock.cpp OBJMOC = moc_analogclock.o DIST = analogClock.pro QMAKE_TARGET = analogClock DESTDIR = TARGET = analogClock first: all ####### Implicit rules .SUFFIXES: .c .o .cpp .cc .cxx .C .cpp.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< .cc.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< .cxx.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< .C.o: $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< .c.o: $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< ####### Build rules all: Makefile $(TARGET) $(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(OBJCOMP) $(LIBS) mocables: $(SRCMOC) uicables: $(UICDECLS) $(UICIMPLS) $(MOC): ( cd $(QTDIR)/src/moc && $(MAKE) ) Makefile: analogClock.pro /usr/share/qt3/mkspecs/default/qmake.conf /usr/share/qt3/lib/libqt-mt.prl $(QMAKE) -o Makefile analogClock.pro qmake: @$(QMAKE) -o Makefile analogClock.pro dist: @mkdir -p .tmp/analogClock && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .tmp/analogClock/ && ( cd `dirname .tmp/analogClock` && $(TAR) analogClock.tar analogClock && $(GZIP) analogClock.tar ) && $(MOVE) `dirname .tmp/analogClock`/analogClock.tar.gz . && $(DEL_FILE) -r .tmp/analogClock mocclean: -$(DEL_FILE) $(OBJMOC) -$(DEL_FILE) $(SRCMOC) uiclean: yaccclean: lexclean: clean: mocclean -$(DEL_FILE) $(OBJECTS) -$(DEL_FILE) *~ core *.core ####### Sub-libraries distclean: clean -$(DEL_FILE) $(TARGET) $(TARGET) FORCE: ####### Compile analogclock.o: analogclock.cpp analogclock.h main.o: main.cpp analogclock.h moc_analogclock.o: moc_analogclock.cpp analogclock.h moc_analogclock.cpp: $(MOC) analogclock.h $(MOC) analogclock.h -o moc_analogclock.cpp
SweetTimeRose 2014-03-24
  • 打赏
  • 举报
回复
makefile里面修改
LAZZZIER 2014-03-24
  • 打赏
  • 举报
回复
这样做貌似不行,qmouselinuxinput_qws.cpp中的路径跟我的开发板是匹配的。 我查看了一下开发板的环境变量,发现环境变量不对, QWS_MOUSE_PROTO="linuxinput:/dev/event0 Intellimouse:/dev/mouse0" 我把它改成QWS_MOUSE_PROTO="linuxinput:/dev/input/event0 Intellimouse:/dev/input/mouse0"之后,程序运行已经不报错了 但是鼠标没任何反应,还是操作不了··· 求指教···
嵌入式乌托邦 2014-03-24
  • 打赏
  • 举报
回复
引用 4 楼 u014050878 的回复:
[quote=引用 3 楼 lutao614 的回复:] 修改Qt源码中的这个文件:src/gui/embedded/qmouselinuxinput_qws.cpp 将其中的QLatin1String("/dev/input/event0");路径改为你自己的,再试试
这是不是意味着我要重新编译Qt源码并且移植到板子上?[/quote] 是的!

23,124

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧