您的位置:首页 > 其它

在Visual Studio中使用psmoveapi

2016-01-17 17:23 411 查看
psmoveapi的作者提供的是一Mingw编译的源代码,在Visual Studio中不能直接使用

实际上Mingw编译产生的.a文件和.lib文件可以一样的使用,vs中可以直接调用

在编译好的psmoveapi的build文件夹下游两种,一个是.dll.a 这个是动态链接库,还有一种就是.a这个是静态链接库。

和lib文件一样的用法 直接

#pragma comment(lib, "libpsmoveapi.dll.a")


就可以了

先要把平台改为x64的,然后在图中位置打开属性页



在vc++目录的包含目录中添加psmoveapi的include文件夹

在库目录中添加build文件夹



然后在链接器的输入下面的附加依赖项中添加libpsmoveapi.dll.a



最后把build文件夹内的dll文件复制到C盘 Windows文件夹下的System32和SysWOW64文件夹中就可以了

vs下的调试图:



最后附上我用来测试的代码

#include"psmove.h"

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

#pragma comment(lib, "libpsmoveapi.dll.a")

int main()
{
PSMove *move;

move = psmove_connect();

if (move == NULL) {
fprintf(stderr, "Could not connect to controller.\n");
return EXIT_FAILURE;
}

psmove_has_calibration(move);

if (psmove_connection_type(move) == Conn_Bluetooth) {
float ax, ay, az, gx, gy, gz;

for (;;) {
int res = psmove_poll(move);
if (res) {
psmove_get_accelerometer_frame(move, Frame_SecondHalf,
&ax, &ay, &az);
psmove_get_gyroscope_frame(move, Frame_SecondHalf,
&gx, &gy, &gz);

printf("A: %5.2f %5.2f %5.2f ", ax, ay, az);
printf("G: %6.2f %6.2f %6.2f ", gx, gy, gz);
printf("\n");
}
}
}

psmove_disconnect(move);

return EXIT_SUCCESS;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: