最近一段时间在整openni手势识别的项目,一直比较纠结于平台之间的切换。
直接入正题,最新的需求是要添加一个置顶窗口来显示骨骼的追踪状态。之前选择的是vs2010进行算法开发。
所以完成我当前这个需求,需要用到MFC,这个着实不太会,就了解了一点点。并且内部也推荐Qt,原因是Qt开
发是跨平台的,并且还能轻松完成之前的这个需求,所以就选择了Qt来实现这个置顶窗口显示功能。经过大侠指
点,一句setWindowFlags(Qt::WindowStaysOnTopHint); 搞定。于是乎我就嗨了,赶紧的折腾起openni在Qt上的
平台转移了。
之前一直在vs平台做计算机视觉算法开发,不了解Qt的开发环境。百度一下openni在Qt中的配置,也是类似于
openni在vs中的配置,只需要添加头文件和库目录就可以了,但好像并不是这么简单。
error1:OpenNI Platform Abstraction Layer -- Win32 Microsoft Visual Studio version below 2003 (7.0) are not supported!
error2:crtdug.h not find this file or directory!
此问题在Qt论坛中有人碰到过,但是无人解答。从字面意思来看,Qt工程编译器的选择版本在vs7.0以下,而实际上我的vs
是2010版的,不知何解?
后来转成Qt vs2010兼容版本外加Qt vs add in插件两者配合的方式配置新的开发环境。新的开发环境折腾了半天,依次
需要找的dll包括如下几个:libgcc_s_dw2-1.dll, QtCore.dll, QtGuid.dll. 找到之后编译已经不出错了。运行之后竟然碰到
mainwindow进不去的怪像!!!此时已经准备放弃了,返回到原先的版本之后,最让人崩溃的是原先的程序也无法运行了!
那叫一个崩溃啊,后来检查了Qt的编译环境配置,怎么看就只有两种选择方式。MINGW和MSVC。两种方式的配置都试了一
下,折腾了一下Qt库的兼容问题之后,终于程序可以跑起来了额!我以为OK了,可事实是程序根本不输出结果!!!只有一个
硬邦邦的DOS框。真心崩溃了!
之前更换开发环境的时候,确实有修改一些地方,确认环境变量删除之后,注册表着实不敢动,真的要触及重装系统那就更
大工作量了。而后冷静想了想,点了一下Qt的调试按钮,蹦出来:0xc0000138错误!百度一下出错原因!最近也确实有将原先
硬盘上的胸膛拷贝到固态硬盘。dll链接错误,后终于找到一个可能的错误点,将之前找的三个dll文件从system32目录中删除。
哇,程序果然就跑起来了,哎,转了一大圈又回到原点。也算是不幸中的万幸哈!
话说上面的两个问题,还是没有解决,Qt的openni配置,哪位大侠有直接基于Qt的配置方法呢?求指导!
阅读(2885) | 评论(0) | 转发(0) |