0

我想创建一个应用程序并在其中使用Scaleform。我使用Qt Creator,所以我在.pro中添加了Scaleform的includes和libs,但是我在编译时遇到了错误。 以下是我在的.pro添加(某些行可能不会有用的,但它只是测试,因为它没有工作没有反正):Link Scaleform在Qt Creator中构建应用程序

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 " ([email protected]@[email protected]@[email protected]@[email protected][email protected]@@@[email protected]@Z) 
... 
... 
fatal error LNK1120: 54 unresolved externals 

通常情况下,这是由于缺少lib或不与相同的编译器作为应用程序编译一个lib,但在这里,一切都建立在MSVC2015,32位。 但是,我的libgfx.lib的日期是07年9月7日,我没有从Scaleform SDK构建它,因为显然没有构建它的项目(而可以重新构建像libgfxexpat.lib这样的其他库)。

我认为这个问题可能是由于这个原因。我错了吗?是否有任何Scaleform SDK中的项目(我安装了sf_4.5.32_win_vc14_lib.exe)来构建这个库?

回答

0

_deflate来自zlib,请确保您将它链接到您的应用程序中。您的输出声明了54个未解决的符号 - 我将假设这是因为您还没有链接到Scaleform的其他任何依赖关系中。

Scaleform分布有几种不同的风格 - 'lib'版本不给你源代码,因此你不能重新编译它们的库。如果您想更改编译选项,进行修改或调试,这很有用,但除此之外,您应该可以使用'lib'库创建一个功能完整的应用程序。

相关问题