Imagination PowerVR SDK Blog

PVRTexLib unresolved externals.


#1

I’m getting unresolved extenrals (MSVC 2015) when linkng against PVRTexLib.lib from PVRSDK 3.5 (and 3.4 too):

: error LNK2019: unresolved external symbol __vscprintf referenced in function “class CPVRTString __cdecl PVRTStringFromFormattedStr(char const *,…)” (?PVRTStringFromFormattedStr@@YA?AVCPVRTString@@PBDZZ)
2>PVRTexLib.lib(PVRTString.obj) : error LNK2019: unresolved external symbol __vsprintf_p referenced in function “class CPVRTString __cdecl PVRTStringFromFormattedStrPositional(char const *,…)” (?PVRTStringFromFormattedStrPositional@@YA?AVCPVRTString@@PBDZZ)
2>PVRTexLib.lib(PVRTString.obj) : error LNK2019: unresolved external symbol __vscprintf_p referenced in function “class CPVRTString __cdecl PVRTStringFromFormattedStrPositional(char const *,…)” (?PVRTStringFromFormattedStrPositional@@YA?AVCPVRTString@@PBDZZ)
2>PVRTexLib.lib(ETCCodec.obj) : error LNK2019: unresolved external symbol _printf referenced in function “double __cdecl pvrtexture::calculateErrorAndCompress58HAlpha(unsigned char *,unsigned char ,int,int,int,unsigned char ( const)[3],unsigned char &,unsigned int &)” (?calculateErrorAndCompress58HAlpha@pvrtexture@@YANPAE0HHHQAY02EAAEAAI@Z)
2>PVRTexLib.lib(svd.obj) : error LNK2001: unresolved external symbol _printf
2>PVRTexLib.lib(analygrapprop.obj) : error LNK2001: unresolved external symbol ___iob_func
2>PVRTexLib.lib(svd.obj) : error LNK2001: unresolved external symbol ___iob_func
2>PVRTexLib.lib(tools.obj) : error LNK2001: unresolved external symbol ___iob_func
2>PVRTexLib.lib(nonendian.obj) : error LNK2001: unresolved external symbol ___iob_func
2>PVRTexLib.lib(amtc_localised.obj) : error LNK2001: unresolved external symbol ___iob_func
2>PVRTexLib.lib(initialreps.obj) : error LNK2001: unresolved external symbol ___iob_func
2>PVRTexLib.lib(bitmap.obj) : error LNK2001: unresolved external symbol ___iob_func
2>PVRTexLib.lib(decomp.obj) : error LNK2001: unresolved external symbol ___iob_func
2>PVRTexLib.lib(wrapper.obj) : error LNK2001: unresolved external symbol ___iob_func
2>PVRTexLib.lib(zio.obj) : error LNK2001: unresolved external symbol ___iob_func
2>PVRTexLib.lib(util.obj) : error LNK2019: unresolved external symbol _vsprintf referenced in function _alloc_printf
2>PVRTexLib.lib(zio.obj) : error LNK2019: unresolved external symbol _vfprintf referenced in function _zio_printf
2>PVRTexLib.lib(tools.obj) : error LNK2001: unresolved external symbol _vfprintf
2>PVRTexLib.lib(tools.obj) : error LNK2019: unresolved external symbol _vprintf referenced in function _printf_flush


#2

Even supersimple “hello world” linked against PVRTexLib.lib and used CPVRTexture gives unresolved externals:

2>PVRTexLib.lib(PVRTString.obj) : error LNK2019: unresolved external symbol __vscprintf referenced in function “public: class CPVRTString __cdecl CPVRTString::format(char const *,…)” (?format@CPVRTString@@QAA?AV1@PBDZZ)
2>PVRTexLib.lib(PVRTString.obj) : error LNK2019: unresolved external symbol __vsprintf_p referenced in function “public: class CPVRTString __cdecl CPVRTString::formatPositional(char const *,…)” (?formatPositional@CPVRTString@@QAA?AV1@PBDZZ)
2>PVRTexLib.lib(PVRTString.obj) : error LNK2019: unresolved external symbol __vscprintf_p referenced in function “public: class CPVRTString __cdecl CPVRTString::formatPositional(char const *,…)” (?formatPositional@CPVRTString@@QAA?AV1@PBDZZ)


#3

This looks like it might be a linker issue rather than a specific PVR issue. It might be more useful to ask a question on a generic programmer help community like Stackoverflow.com