编译报错:link : fatal error lnk1181: 无法打开输入文件“thirdparty\fbx\2020.2\lib\vs2017\x64\release\libfbxsdk-md.lib”
最近有一个模块需要用到UE自带的FBX模块,之前的操作是将UE_4.27\Engine\Source\ThirdParty\FBX文件夹给复制到自己模块的三方库文件夹中,然后直接biuld.cs文件。
![在这里插入图片描述](https://img-blog.csdnimg.cn/4f4bd0769cef4ef5a133200f17cdc255.png
然后选DebugGame模式编译的时候报错:link : fatal error lnk1181: 无法打开输入文件“thirdparty\fbx\2020.2\lib\vs2017\x64\release\libfbxsdk-md.lib”。
因为这种引入方式适合编辑器构建,模块的时候构建脚本试图拉入“ libfbxsdk-md.lib”,但估计DebugGame模式没有编辑器,导致报错。
解决方法:
不用模块引入的方式添加模块,而是在build.cs文件加入代码手动添加自己想引入的lib库。
string EnginePath
{
get
{
return Path.GetFullPath(Target.RelativeEnginePath);
}
}
string EngineThirdPartyPath
{
get
{
return Path.GetFullPath(Path.Combine(EnginePath, "Source/ThirdParty/"));
}
}
string FBXModuleIncludePath
{
get
{
return Path.Combine(EngineThirdPartyPath, "FBX/2020.2/include/");
}
}
string FBXModuleLibraryPath
{
get
{
return Path.Combine(EngineThirdPartyPath, "FBX/2020.2/lib/vs2017/x64/release/");
}
}
string FBXStubLibraryName
{
get
{
return "libfbxsdk.lib";
}
}
string FBXSharedLibrarySymbol
{
get
{
return "FBXSDK_SHARED";
}
}
然后
PublicIncludePaths.Add(FBXModuleIncludePath);
//Setup stub library for build.
PublicLibraryPaths.Add(FBXModuleLibraryPath);
PublicAdditionalLibraries.Add(FBXStubLibraryName);
参考:https://biq.medium.com/linking-fbx-sdk-in-ue4-project-biq-99548b4b2ec8