博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建一个项目
阅读量:20810 次
发布时间:2019-12-03

本文共 2724 字,大约阅读时间需要 9 分钟。

这篇文章讨论了怎样通过命令行或者一些流行的集成开发工具创建并且编译C++项目

编译器和开发库

在windows系统下,你可以使用VS2008,2010,或者 2012中的Visual C++编译器来编译代码,在 OS X和Linux 系统下,你可以使用gcc 或者 clang编译器编译代码
在windows系统下,Leap Motion通过动态链接库Leap.dll提供C++ API。并且分为32位(X86)和64位(X64)两个架构版本
在Mac OS X系统下,Leap Motion通过动态链接库libLeap.dylib提供C++ API,并且也分为32位(X86)和64位(X64)两个架构版本
在Linux系统下,Leap Motion通过共享库libLeap.so 提供C++ API ,同时支持32位(X86)和64位(X64)两个版本。并且这些库使用了 libstdc++ 标准库

Leap Motion动态链接库被设计为从你应用程序的可执行文件相同的目录中加载,你需要为你的应用程序选择合适的Leap Motion开发库,这些开发库位于Leap SDK包的lib 文件夹中。

通过命令行编译并链接程序

下面一些示例举例说明了怎样通过window终端或者命令行编译并且运行 C++应用程序。这些编译运行的实例包含在SDK中,当前的工作目录必须是用于编写命令的SDK示例文件夹

windows系统下

通过VS 的DOS命令行工具运行Visual C++编译器是非常容易的。该命令行通过自动创建环境变量的方式使得运行编译器和连接器变得非常容易。Leap Motion SDK提供了32位和64位两个不同架构版本的开发库,分别位于SDK的lib\x86和lib\x64文件夹下。

32位命令:

mkdir Release
cl /EHsc /I ..\include Sample.cpp /link ..\lib\x86\Leap.lib /OUT:Release\Sample.exe
xcopy ..\lib\x86\Leap.dll Release
Release\Sample

64位命令:

mkdir Release
cl /EHsc /I ..\include Sample.cpp /link ..\lib\x64\Leap.lib /OUT:Release\Sample.exe
xcopy ..\lib\x64\Leap.dll Release
Release\Sample

Mac OS X 和 Linux系统下

在SDK示例文件夹中提供了一个生成文件。这个生成文件是用来编译Sample.cpp项目的,但是你也可以通过合适的调整它来构建自己的应用程序。

windows系统:在VS中创建一个C++项目

Leap Motion SDK开发包包含了VS2008,2010和2012三个版本的实例程序。你可以使用这些实例程序作为你的起始Leap Motion应用项目。这一节将演示如何从头创建一个项目。大多数步骤也适用于向现有
添加Leap Motion支持。该项目应用的是VS2012.

注解:VS2015 使用的是不同于VS2012版本的运行时库,当使用VS2015时,我们建议你重新建一个新项目,而不是导入一个已经存在的项目。

最重要的是:如果你创建一个64位的应用程序时,要使用x64的 链接库,而不是X86版本。
1,创建一个新的自己偏好类型的项目
2,添加系统级变量指向你的Leap Motion SDK文件夹,这个步骤是可选的,但是可以简化你在项目中创建的对SDK的引用(作为一个提醒,你可以创建或者改变环境变量通过系统属性窗口)
3,打开项目属性页,使用项目属性命令
4,设置一个调试配置:
a,选择一个调试配置
b, 给你的项目添加SDK头文件目录:
i,在配置属性页,选择C/C++->常规选项
ii,在属性窗格中,添加SDK包含目录到附加的Include目录字段下
$(Leap_SDK)\include
(Leap_SDK是你早先创建的系统变量,如果你不想使用环境变量的话,你也可以使用文件路径)
c.添加Leap Motion库的引用
i,在配置选项下,选择连接->常规
ii,在属性窗格中,添加SDK的 x86或者x64的链接库文件目录:
$(LEAP_SDK)\lib\86
iii.选择链接->输入
iV,添加Leap.lib 到其他依赖项。
d,添加一个后构建事件,将Leap Motion库复制到项目的目标可执行目录中。
i,在配置目录下,选择编译事件->后构建事件
ii,编辑命令行字段来复制库,添加:
xcopy /yr “$(LEAP_SDK)\lib\x86\Leap.dll” “$(TargetDir)”
5,设置一个发布配置:
a,选择一个发布配置
b, 重复以上步骤
6,添加你的源代码

Mac OS X系统:在Xcode中创建项目

在Xcode中创建一个Leap Motion 项目:
1,打开或者创建一个Xcode项目:
2,添加Leap Motion SDK 头文件 和 API 开发库:
a, 从SDK头文件中拖拽Leap.h 和 leapmath.h 头文件到项目中,讲这些文件添加到适当的目标,以便使用你的应用程序源码编译工具编译它们
b,拖拽libleap.dylib开发库到你的项目中(请确认把它添加到你的项目中的合适位置)
3,配置项目,使得应用能够打包libLeap.dylib库:
a,转到目标构建阶段页面
b,添加一个阶段使用菜单命令: Editor->Add Build Phase->Add Copy Files Build Phase
c,打开一个新的阶段:
i,目标设置为可执行文件
ii, 在列表文件中添加libLeap.dylib
4,添加你的源码

Mac OS X:从不同的位置加载动态链接库

如果你希望从不同的位置添加动态链接库而不是在你的应用程序可执行文件中,你可以使用 OS X的install_name_tool 工具来改变加载路径。例如:
从标准的Mac 应用包中的资源文件夹中加载链接库代替 MacOS 文件夹,你可以运行以下命令行:

在 mac os x 上:

install_name_tool -change @loader_path/libLeap.dylib @executable_path/../Resources/libLeap.dylib Sample

(你应用程序的二进制文件)

原文章地址:

转载地址:http://jkuubk.baihongyu.com/

你可能感兴趣的文章
【计算机操作系统】常说的死锁是什么?死锁产生的必要条件是什么?死锁的解决策略是什么?
查看>>
【计算机操作系统】进程管理详解?进程与线程区别是什么?进程调度的算法有哪些?进程通信有哪些?
查看>>
【计算机操作系统】虚拟内存是什么?分页系统地址映射?页面置换算法有哪些?分段地址映射又是什么?
查看>>
【计算机操作系统】设备管理?磁盘结构是怎么样的?磁盘调度算法有哪些?
查看>>
【多线程高并发】为什么要使用多线程?创建多少个线程合适呢?
查看>>
【多线程与高并发】 Java两个线程轮流打印1-100两个数?多线程轮流打印数字?
查看>>
Robots协议
查看>>
Python网络爬虫的网站实例
查看>>
h标签与p标签
查看>>
BeautifulSoup库的安装及基本元素
查看>>
基于bs4的HTML内容遍历方法
查看>>
Python的Re库(正则表达式)基本用法
查看>>
如何快速的搭建Apache+MySQL+PHP+PERL的环境
查看>>
初识JavaScript
查看>>
JavaScript的DOM操作
查看>>
Spring Boot快速入门---(三)spring boot的快速连接数据库之spring data jpa以及事务管理
查看>>
Spring Boot快速入门---(四)spring boot的表单验证以及AOP处理请求
查看>>
【物联网实训项目】------(一)家庭智慧安防系统之前期项目工作准备
查看>>
【物联网实训项目】------(二)家庭智慧安防系统之定时监控
查看>>
【物联网实训项目】------(三)家庭智慧安防系统之实时监控
查看>>