Linker error visual studio 2010 ippsexp_32f

Linker error visual studio 2010 ippsexp_32f

I get the following linker errors (VS 2010) for the functions ippsln_32f and ippsexp_32f using the static, single-threaded (ipps_l.lib) Ipp 7.1.1 libraries:

(psexp32f_m7---ippsExp_32f_I.obj) : error LNK2019: unresolved external symbol m7_ippsExp_32f_A21 referenced in function m7_ippsExp_32f_I
(psexp32f_m7---ippsExp_32f.obj) : error LNK2001: unresolved external symbol m7_ippsExp_32f_A21
(psexp32f_n8---ippsExp_32f_I.obj) : error LNK2019: unresolved external symbol n8_ippsExp_32f_A21 referenced in function n8_ippsExp_32f_I
(psexp32f_y8---ippsExp_32f_I.obj) : error LNK2019: unresolved external symbol y8_ippsExp_32f_A21 referenced in function y8_ippsExp_32f_I
(psexp32f_y8---ippsExp_32f.obj) : error LNK2001: unresolved external symbol y8_ippsExp_32f_A21
(psexp32f_e9---ippsExp_32f_I.obj) : error LNK2019: unresolved external symbol e9_ippsExp_32f_A21 referenced in function e9_ippsExp_32f_I
(psexp32f_e9---ippsExp_32f.obj) : error LNK2001: unresolved external symbol e9_ippsExp_32f_A21
(psexp32f_l9---ippsExp_32f_I.obj) : error LNK2019: unresolved external symbol l9_ippsExp_32f_A21 referenced in function l9_ippsExp_32f_I
(psexp32f_l9---ippsExp_32f.obj) : error LNK2001: unresolved external symbol l9_ippsExp_32f_A21
(psexp32f_u8---ippsExp_32f.obj) : error LNK2019: unresolved external symbol u8_ippsExp_32f_A21 referenced in function u8_ippsExp_32f

The same errors appear for ippsln_32f

This worked fine with ipp 7.0.  Is this a known issue or is there a work around to this problem?

6 帖子 / 0 全新
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项

>>...using the static, single-threaded (ipps_l.lib) Ipp 7.1.1 libraries...

It looks similar to:

Forum topic: Static Linking Error - ippcore-7.1 Dependency
Web-link: http://software.intel.com/en-us/forums/topic/328164

and please take a look.

I believe it is related - but doesn't appear to be quite the same thing.  We are not using the Intel compiler (as the poster is) - just the VS 2010 compiler with the single-threaded static IPP libraries.  However, the dependency is still there for those 2 functions (ippsln_32f, ippsexp_32f) - the static library does not contain their dependencies, hence you cannot link.  I believe this should be very easy to replicate (attempt to link any code referencing ippsln_32f using only the single-threaded static library (ipps_l.lib, ippcore_l.lib).  The problem is evident in both 32- and 64-bit builds.

Notably, linking to ipps.lib does not resolve the problem either, so I believe it something actually missing from ipps_l.lib.

>>...but doesn't appear to be quite the same thing. We are not using the Intel compiler (as the poster is) - just the VS 2010
>>compiler with the single-threaded static IPP libraries...

Sorry for my wrong assumption.

Allow me to resurrect a dead thread for the benefit of future visitors with the exact same error.

I had similar undefined symbols related to ippsExp when using the ippi library (as it uses ipps internally).  The problem is resolved by also including the Vector Math (ippVM) library.  Apparently, these subroutines are in ippvm, so if you also #include ippvm.h and set your preprocessor directive appropriately (_IPP_PARALLEL_DYNAMIC, _IPP_PARALLEL_STATIC, or _IPP_SEQUENTIAL_STATIC), you will get the necessary library linked.

Thanks for sharing this,  Jonathan. 

发表评论

登录添加评论。还不是成员?立即加入