LeapMotion SDK 开发之一 编写第一个LeapMotion VC++ 程序
2016-05-13 19:34
435 查看
前言
入手LeapMotion也有一段日子了,一直都只是玩玩应用中心里面的应用,没有时间做相应的开发,近来学习了一下,分享一下我的经验。了解了以后才发现它的强大,SDK支持cpp csharp java js objc python这么多语言,同时它是识别也比较准确,对底层的封装也非常的好,可以很方便地获取到自己关心的数据而不需要有太多的算法知识,大大地降低了开发的门槛。
我的编程环境为
* Windows 10
* Leap_Motion_SDK_Windows_2.3.1
* Visual Studio 2015
为了简单起见,我建立的是VC++ win32控制台程序
LeapMotion SDK 的下载和安装
首先我们要去LeapMotion V2 Desktop网站下载自己系统对应的SDK,注意这个SDK里面是包含了LeapMotion Installer的了,所以就不需要重复下载了。下载完了以后解压到适合的地方。解压以后的内容如下。首先当然是要安装驱动和相应的配置程序啦,这里就不细说了。安装完驱动正确识别出LeapMotion控制器以后,可以开始配置我们的第一个LeapMotion工程了。
LeapMotion SDK的使用
首先我们看一下LeapMotion SDK里面都有些什么其实我们主要使用的就是这几个
*
docs里面是相关的文档,我们在开发的时候一定要多多看看官方的文档。
*
include是相应的头文件,我们使用VC++编程的时候需要用到
*
lib里面就是LeapMotion封装好的库了,我们使用的时候就只需要简单地调用就可以完成很多炫酷的功能
*
samples里面就是相应的示例文件,但是由于cpp的实例写得太复杂,我一开始看也是一脸的懵逼,所以我们不作过多的讨论
VC++工程的建立
创建新工程
我们就建立一个名叫LeapMotion的Win32控制台应用程序工程,后面的一切设置都保持默认就好。
保持默认即可
点击完成,成功建立工程
放置库文件
工程建立好了以后我们当然是不能够直接使用Leap库的,所以我们必须再进行相应的设置为了方便起见,我在我的工程的所在目录底下建立了一个文件夹
LeapMotion,然后把我们需要用到的库文件,也就是刚才解压的LeapMotion SDK里面的
include和
lib两个文件夹都复制到里面,完成以后当前工程的目录结构是这样的
设置工程属性
添加附加包含目录LeapSDK\include
,这样编译器的#include“指令才能找到对应的头文件。
添加
附加库目录LeapSDK\lib\x86
,注意我们要为对应的平台选择相应的库文件,我的目标平台是32位的,所以我用的是lib/x86
底下的库,如果要开发64位的程序的话,只需要改为lib/x64“即可。
添加
附加依赖项
Leap.lib,这样编译器才知道要链接哪个库。
在编译后把动态库文件拷贝到合适的位置,设置
后期生成事件底下的
命令行,添加
xcopy /yr "LeapSDK\lib\x86\Leap.dll" "$(TargetDir), 也就是说要把
Leap.dll这个动态链接库文件复制到可执行文件相同的目录底下,否则我们编写的程序的运行的时候就会提示找不到库文件了。
测试代码
为了检验一切是否正常,我们先用一点点代码来测试,具体代码的作用我们会在后面的章节里再展开讨论。
LeapMotion.cpp
用将以下代码替换
LeapMotion.cpp里面的所有内容
#include "stdafx.h" using namespace Leap; class SampleListener : public Listener { public: virtual void onConnect(const Controller&); }; void SampleListener::onConnect(const Controller& controller) { std::cout << "Connected" << std::endl; } int main(int argc, char** argv) { SampleListener listener; Controller controller; controller.addListener(listener); std::cin.get(); controller.removeListener(listener); return 0; }
stdafx.h
用将以下代码替换
stdafx.h里面的所有内容
#pragma once #include "targetver.h" #include <stdio.h> #include <tchar.h> #include <iostream> #include <string> #include <Leap.h>
测试
按下Ctrl-F5,编译并且执行,如果一切无误,那么控制台将会打印出恭喜!你走出了LeapMotion奇妙之旅的第一步!
相关文章推荐
- C++ 11 Lambda表达式
- c++ 编程规范
- C++ list的基本操作和使用
- Mother's Milk
- C++的四舍五入函数
- 编译VC++6.0时出出现unexpected end of file while looking for precompiled header directived解决方法
- 静态链表(C++实现)
- C++primer plus 第九章习题
- C++中substr函数的用法
- 1004. 成绩排名 (20)
- 极客班GeekBand C++第一周笔记
- 关于在C/C++语言中,函数如何返回数组,数组如何作为参数传递以及返回数组的函数该如何调用问题的总结
- c++语法——类和对象的学习(1)
- LevenbergMarquardt 算法 eigen实现(c++)
- POJ 1159 Palindrome
- C++虚函数与JAVA中抽象函数比较 接口与抽象类比较
- 【C++】:C++的境界1
- c++中箭头操作符(->)和点操作符(.)的不同
- C++ vector多维数组初始化及清零
- c++中类的学习(二)