在 Visual Studio/C++ 中使用 fbx SDK 构建项目时出现编译错误

Posted

技术标签:

【中文标题】在 Visual Studio/C++ 中使用 fbx SDK 构建项目时出现编译错误【英文标题】:Compile errors when building a project using fbx SDK in Visual Studio/C++ 【发布时间】:2021-02-04 22:58:38 【问题描述】:

我正在尝试构建一个关于在 OpenGL 中加载 fbx 对象的项目。我使用了这个资源的代码:https://github.com/sho3la/FBX-Loader-OpenGL-C-

但是我得到了这些编译错误: “GetCacheChannel”:不是“fbxsdk::FbxVertexCacheDeformer”的成员 “IsActive”:不是“fbxsdk::FbxVertexCacheDeformer”的成员 'lHasVertexCache': 必须初始化 const 限定类型的对象 'SetActive': 不是 'fbxsdk::FbxVertexCacheDeformer' 的成员

我也看过Compile error when building fbxsdk headers in visual studios 和https://docs.microsoft.com/en-us/dotnet/visual-basic/misc/bc30456 并做了他们的建议,但是这些错误仍然没有任何变化。

【问题讨论】:

Autodesk FBX 往往会发生很大变化。该代码希望您使用哪个版本的 Autodesk FBX? 我使用了它的最后一个版本。它的链接是damassets.autodesk.net/content/dam/autodesk/www/adn/fbx/… 但是您使用的代码是用什么版本构建的?那个项目已经有六年了,所以我猜是一个很老的项目。 我在 Visual Studio 2019 中创建了一个新项目,并使用了该链接的 c++ 代码。 您使用的 GitHub 项目中的源代码可能是为 Autodesk FBX SDK 2013 或 2014 版本编写的。很久以前,他们只提供了 VS 2012 版本的库,因此您需要修改代码以使用最新版本构建。见FBX SDK Archive。您可以使用的最旧的版本是 2016.1.2,因为 VS 2015 库与 VS 2019 二进制兼容 Microsoft Docs 【参考方案1】:

AutoDesk 已更改其库。因此,为了在这些错误中使用这些函数,我没有使用 FBX SDK 2020,而是使用了 FBX SDK 2014.2.1 VS2012,它对我有用。

【讨论】:

以上是关于在 Visual Studio/C++ 中使用 fbx SDK 构建项目时出现编译错误的主要内容,如果未能解决你的问题,请参考以下文章

使用Visual Studio C ++按名称搜索目录中的文件

Visual Studio:C++\CLI 包装器程序集路径依赖问题

Visual Studio C++11g 编译错误 - 初始化程序太多

从多字节字符集转换旧的Visual Studio C ++项目

Visual Studio C ++组合框控件不适用于多字节字符集

在Visual Studio C#中开发WebService,并从单独的VS解决方案中调用它