Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6712 Discussions

IPP 5.1 linker errors using static libs w Embedded Visual Tools 4

g_bisceglia
Beginner
384 Views

Hello all,

I am porting our IPP 4.x code to 5.1. I am also moving it from Visual C++ 6 to Embedded Visual Tools 4 with Wince 5.0.

For the mp3 callsI am importing: [ippcorel.lib ippacemerged.lib ippacmerged.lib] and it's giving me the following liker errors below.

1) Is it valid to use EVT 4.0?

2) I was able to compile the sample WinCE code on the site, and run it on WinCE 5.0.

3) Am I missing other .libs to include into the project?

4) When compiling for WinCE do you HAVE to use the static libs? (seems like you do, when looking at the dependecies of the compiled dll's shipped w/ipp 5.1)

ippacmerged.lib(pacmp3dmdct_split4.obj) : error LNK2019: unresolved external symbol _v8_ownsSet_32s referenced in function _v8_ippsMDCTInv_MP3_32s@28
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _v8_ownsSet_32s referenced in function _v8_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3dmdct_split4.obj) : error LNK2019: unresolved external symbol _t7_ownsSet_32s referenced in function _t7_ippsMDCTInv_MP3_32s@28
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _t7_ownsSet_32s referenced in function _t7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3dmdct_split4.obj) : error LNK2019: unresolved external symbol _w7_ownsSet_32s referenced in function _w7_ippsMDCTInv_MP3_32s@28
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _w7_ownsSet_32s referenced in function _w7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3dmdct_split4.obj) : error LNK2019: unresolved external symbol _a6_ownsSet_32s referenced in function _a6_ippsMDCTInv_MP3_32s@28
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol _a6_ownsSet_32s referenced in function _a6_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3dmdct_split4.obj) : error LNK2019: unresolved external symbol _px_ownsSet_32s referenced in function _px_ippsMDCTInv_MP3_32s@28
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol _px_ownsSet_32s referenced in function _px_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol ___security_cookie referenced in function _px_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol ___security_cookie referenced in function _v8_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol ___security_cookie referenced in function _t7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolve d external symbol ___security_cookie referenced in function _w7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol ___security_cookie referenced in function _a6_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function _px_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function _v8_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function _t7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function _w7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function _a6_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _v8_ownsZero_8u referenced in function _v8_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3dhuff_split3.obj) : error LNK2001: unresolved external symbol _v8_ownsZero_8u
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _v8_ownsSet_8u referenced in function _v8_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _v8_ownsCopy_8u referenced in function __sReorder_MP3_32s
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _t7_ownsZero_8u referenced in function _t7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3dhuff_split3.obj) : error LNK2001: unresolved external symbol _t7_ownsZero_8u
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _t7_ownsSet_8u referenced in function _t7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _t7_ownsCopy_8u referenced in function __sReorder_MP3_32s
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _w7_ownsZero_8u referenced in function _w7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3dhuff_split3.obj) : error LNK2001: unresolved external symbol _w7_ownsZero_8u
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _w7_ownsSet_8u referenced in function _w7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol _w7_ ownsCopy_8u referenced in function __sReorder_MP3_32s
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol _a6_ownsZero_8u referenced in function _a6_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3dhuff_split3.obj) : error LNK2001: unresolved external symbol _a6_ownsZero_8u
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol _a6_ownsSet_8u referenced in function _a6_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol _a6_ownsCopy_8u referenced in function __sReorder_MP3_32s
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol _px_ownsZero_8u referenced in function _px_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3dhuff_split3.obj) : error LNK2001: unresolved external symbol _px_ownsZero_8u
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol _px_ownsSet_8u referenced in function _px_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol _px_ownsCopy_8u referenced in function __sReorder_MP3_32s
X86Rel/mo3_media.dll : fatal error LNK1120: 22 unresolved externals

0 Kudos
3 Replies
Vladimir_Dudnik
Employee
384 Views

Hello,

We allow to call IPP function from IPP function, this introduce dependancy, so in case of static linking, for audio domain you also need to link with signal processing domain.

Please add ippsmerged/emerged libraries to your list of linked libs, that will resolve this dependancy. Note, you may also be needed in data compression domain (ippdcmerged/emerged libraries) depending on audio functions you use.

Regards,
Vladimir

0 Kudos
g_bisceglia
Beginner
384 Views

Including the ippsmerged.lib's fixed half of the linker errors. I tried including the dcmerged libs but it doesn't fix the errors below.

Any ideas?

Is there documentation around that explains the dependency's of the each ipp function? If not there should be...

We all can't just GUESS what libs we need to include.

ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol ___security_cookie referenced in function _px_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol ___security_cookie referenced in function _v8_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol ___security_cookie referenced in function _t7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol ___security_cookie referenced in function _w7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol ___security_cookie referenced in function _a6_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function _px_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function _v8_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function _t7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split4.obj) : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function _w7_ippsReQuantizeSfb_MP3_32s_I@32
ippacmerged.lib(pacmp3drqnt_split5.obj) : error LNK2019: unresolved external symbol @__security_check_cookie@4 referenced in function _a6_ippsReQuantizeSfb_MP3_32s_I@32

0 Kudos
Vladimir_Dudnik
Employee
384 Views

This is know issue for old microsoft compilers. Becuase of industry trend we moved to support new MS compilers (.NET 2003 and VC2005) which provide stack safety check. Unfortunately, this introduce incompatibility with previous compiler generation, for example VC6.

For VC6, you also need to link your application with bufferoverflowu.lib which comes with MS Platform SDK.

Please look at IPP Technical resources page for more details regarding that issue: LNK2001 Unresolved External Symbol

Regards,
Vladimir

0 Kudos
Reply