在视觉工作室中构建 fbxsdk 标头时编译错误

Compile error when building fbxsdk headers in visual studios

本文关键字:编译 错误 fbxsdk 视觉 工作室 构建      更新时间:2023-10-16

我尝试使用Visual Studios构建2015和2018版本的fbxsdk标头,但得到错误:

C:\Program Files\Autodesk\fbx\fbx SDK \2018.0\include\fbxsdk\core\fbxproperty.h(1161):错误 C2903:"GetPropertyValue":符号既不是类模板也不是函数模板

错误发生在这段代码中:

T EvaluateValue(const FbxTime& pTime=FBXSDK_TIME_INFINITE, bool pForceEval=false)
{
return GetAnimationEvaluator()-> template GetPropertyValue<T>(*this, pTime, pForceEval);
}

它位于模板类中,标头的 Linux 版本是相等的,但不会产生错误,我什至尝试了 mingw g++ 并编译没有错误(但由于 dll 不是使用 g++ 制作的,因此无法链接)。

那段代码到底在做什么?创建模板并将其作为值返回?

我从函数中删除了模板关键字,它开始在可视化工作室中编译(并且 g++ 开始给出错误),这会改变结果吗?

此错误可能是因为我使用了 visual studios 2017 而不是 fbxsdk 库推荐的 2015 而导致的吗?除此之外,我做了他们在这里推荐的一切:https://help.autodesk.com/view/FBX/2018/ENU/?guid=FBX_Developer_Help_getting_started_installing_and_configuring_configuring_the_fbx_sdk_for_wind_html

我从以下位置安装了库: http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=26416244

我刚刚遇到了同样的错误。解决方案是在配置属性/C/C++/语言中将一致性模式切换到NO。我不确定这是否会导致任何问题,但它现在完成了这项工作。