我想创建一个应用程序并在其中使用Scaleform。我使用Qt Creator,所以我在.pro中添加了Scaleform的includes和libs,但我在编译时出错。下面是我在.pro中添加的内容(有些行可能没有用,但它只是为了测试,因为没有它就不能工作):
INCLUDEPATH += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Src"
INCLUDEPATH += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Src/GFx"
INCLUDEPATH += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Src/Kernel"
INCLUDEPATH += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Src/Render"
INCLUDEPATH += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Include"
DEPENDPATH += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Src"
DEPENDPATH += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Src/GFx"
DEPENDPATH += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Src/Kernel"
DEPENDPATH += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Src/Render"
DEPENDPATH += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Include"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfx.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfx_air.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfx_as2.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfx_as3.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/3rdParty/pcre/Lib/Win32/Msvc14/Debug/pcre.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/3rdParty/curl-7.29.0/lib/Win32/Msvc14/Debug/libcurl.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfxexpat.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfxplatform_d3d9.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfxplatform_d3d11.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfxplatform_gl.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfxrender_d3d9.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfxrender_d3d11.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfxrender_gl.lib"
LIBS += "C:/Program Files (x86)/Autodesk/Scaleform/GFx SDK 4.5/Lib/Win32/Msvc14/Debug/libgfxsound_fmod.lib"在.cpp文件中:
#include "GFx_Kernel.h"
#include "GFx.h" //causes the errors
#include "GFx_Renderer_D3D9.h"这将导致以下错误:
libgfx.lib(Amp_Message.obj) : error LNK2019: unresolved external symbol _deflate referenced in function "public: virtual bool __thiscall Scaleform::GFx::AMP::Message::Compress(class Scaleform::Array<unsigned char,2,struct Scaleform::ArrayDefaultPolicy> &)const " (?Compress@Message@AMP@GFx@Scaleform@@UBE_NAAV?$Array@E$01UArrayDefaultPolicy@Scaleform@@@4@@Z)
...
...
fatal error LNK1120: 54 unresolved externals通常,这是由于缺少库或库不是使用与应用程序相同的编译器编译的,但在这里,所有的库都是用32位的MSVC2015构建的。然而,我拥有的libgfx.lib的日期是2016年7月9日,我不是从Scaleform SDK构建的,因为显然没有项目来构建它(而像libgfxexpat.lib这样的其他库是可以重建的)。
我认为问题可能是由于这一点。我说错了吗?Scaleform SDK (我安装了sf_4.5.32_win_vc14_lib.exe)中有没有用来构建这个库的项目?
发布于 2017-03-04 12:29:27
_deflate来自zlib,请确保将其链接到您的应用程序中。您的输出声称有54个未解析的符号-我假设这是因为您还没有链接到Scaleform的任何其他依赖项中。
Scaleform发行版有几种不同的风格-- 'lib‘版本不会给你提供源代码,因此,你不能重新编译它们的库。如果您想要更改编译选项、进行修改或对其进行调试,这是很有用的,但除此之外,您应该能够使用'lib‘库创建一个功能完整的应用程序。
https://stackoverflow.com/questions/42557850
复制相似问题