使用自定义的 USD C++ 库打开 USD 文件时如何解决访问冲突异常?

问题描述 投票:0回答:1

我目前正在尝试使用 Visual Studio 2019 在 Windows 11 上的自定义 C++ 项目中使用 USD C++ 库。

从 USD GitHub 存储库text,我下载了最新的源代码版本,并使用位于

build_usd.py
目录中的
build_scripts/
构建了库。我使用一些标志构建了库,以避免构建不必要的功能(我基本上只保留 Alembic 和 HDF5 标志,因为我计划在同一个项目中使用 Alembic 库)。

但是,一旦将库添加到我的项目中,我就会运行这段代码:

#include <iostream>
#include <pxr/pxr.h>
#include <pxr/usd/usd/stage.h>

int main() {
    std::string a("C:\\Users\\h.debouard\\Desktop\\Kitchen_set\\Kitchen_set.usd");
    pxr::UsdStageRefPtr stage = pxr::UsdStage::Open(a);
    return 0;
}

我收到以下抛出的异常:

Exception thrown at 0x00007FF810001190 (vcruntime140.dll) in alembicwrapper.exe : 0xC0000005 : Access violation reading location 0x00000219EF1A0000

无论我尝试添加或更改多少额外的库或构建选项,我仍然会遇到此错误,并且我无法在 GitHub 页面的问题部分找到答案。

我在这里做错了什么?这是一个可能与编译器有关的问题吗?

对我来说第一个问题是我必须在项目中包含几个目录,而不仅仅是

include/
文件夹中的 USD
build/
目录,否则我会收到错误消息,告诉我库中的某些头文件不能位于。

令我烦恼的是,这些额外的目录位于 USD

include/
目录本身,
#include <some-source-lib.h>
行中的一些源文件中指示的路径不正确,这就是我需要添加这些路径的原因。

我还需要链接也位于

build/lib
build/bin
目录中的几个库,以避免一些
LNK2019
错误。

我的目标只是打开一个 USD 文件以检查该库是否正常工作。我知道我的美元文件是正确的,因为它是来自美元网站的官方示例。

exception dll build compiler-errors usd
1个回答
0
投票

我在运行调试版本时遇到同样的问题。发布时效果很好。 你能解决这个问题吗?我真的需要能够调试我的代码。

© www.soinside.com 2019 - 2024. All rights reserved.