gpt4 book ai didi

c++ - Oculus OVR_CAPI.cpp 错误

转载 作者:行者123 更新时间:2023-11-30 05:21:25 26 4
gpt4 key购买 nike

我目前正在开展一个项目,我需要读取 Oculus Rift DK2 传感器。我在网上搜索了可用的示例,遗憾的是我能找到的唯一示例导致我在 SDK 版本等方面遇到很多麻烦。我找到了一个教程,介绍如何实现一些基本的 C++ 代码来读取俯仰、滚动和偏航。我使用的是 Windows V1.8.0 的 SDK。

#include "stdafx.h"
#include <iostream>
#include "../../OculusSDK/LibOVR/Include/OVR_CAPI.h"
#include <thread>
#include <iomanip>

#define COLW setw(15)

using namespace std;

int main()
{

// Initialize our session with the Oculus HMD.
if (ovr_Initialize(nullptr) == ovrSuccess)
{
ovrSession session = nullptr;
ovrGraphicsLuid luid;
ovrResult result = ovr_Create(&session, &luid);

if (result == ovrSuccess)
{ // Then we're connected to an HMD!

// Let's take a look at some orientation data.
ovrTrackingState ts;

while (true)
{
ts = ovr_GetTrackingState(session, 0, true);

ovrPoseStatef tempHeadPose = ts.HeadPose;
ovrPosef tempPose = tempHeadPose.ThePose;
ovrQuatf tempOrient = tempPose.Orientation;

cout << "Orientation (x,y,z): " << COLW << tempOrient.x << ","
<< COLW << tempOrient.y << "," << COLW << tempOrient.z
<< endl;

// Wait a bit to let us actually read stuff.
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}

ovr_Destroy(session);
}

ovr_Shutdown();
// If we've fallen through to this point, the HMD is no longer
// connected.
}

return 0;
}

(据我所知)这部分没有问题。

当我包含 OVR_CAPI.h 时,OVR_CAPI.cpp 神奇地出现在 OVR_CAPI.h 所在的文件夹中。此 cpp 文件包含以下内容:

#include "stdafx.h"
#include "OVR_CAPI.h"

OVR_PUBLIC_FUNCTION(ovrResult) ovr_Initialize(const ovrInitParams * params)
{
return OVR_PUBLIC_FUNCTION(ovrResult)();
}

当我尝试构建它时出现错误:"expected an expression"和 "C2062(type 'int' unexpected)"都出现在第 6 行。有没有人熟悉这个问题,或者有人可以给我关于如何开始使用 Oculus 软件的建议吗?

最佳答案

您已经包含了 LibOVR 的来源。您必须在 visual studio 中将 LibOVR 编译为 .lib 文件,然后将其添加到您的项目中。

第一步

在LibOVR 文件夹中,应该有一个“Projects 文件夹”。打开适用于您的 Visual Studio 版本的版本。

第二步

编译 LibOVR 项目(在 Release模式下),这应该不会出现任何错误。如果是这样,库可能已损坏。尝试从 oculus 网站重新下载源代码或尝试其他版本。

第三步

成功后,将构建文件夹和“Include”文件夹中的 LibOVR.lib 文件复制到您自己的项目中(我建议在您的项目目录中创建一个新的“libs”文件夹)。

第四步

关闭 LibOVR 项目并打开您自己的项目。打开项目的属性窗口,在 VC++ 目录中将“Include”文件夹添加到“Include Directories”。还将.lib 文件所在的文件夹添加到“库目录”。

最后,在“Linker->Input”设置中将 LibOVR.lib 添加到“Additional Dependencies”(如果您还没有的话)。

第 5 步

将此添加到您的 main.cpp 文件

#include <OVR_CAPI.h>

尝试编译您的项目。现在一切都应该正常了。

关于c++ - Oculus OVR_CAPI.cpp 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40133381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com