Hope that my problem have answers, here is my trouble:
I would like to link statically some IPP functions in another library. This new librarythat included IPP functions could be dynamic or static but must not dynamic depend on IPP library because I want it to be redistribuable.
I created a library project (named A) with options to link IPP statically:
-Use IPP: Multi-threaded static libray
I also set 2 more options:
-Code generation -> runtime libray to Multi-threaded
-Link library dependencies to yes
The library is generated without issues but by linkingit to my executable, I get some unresovled symbol. They correspond to the IPP functions.
3>ipo : warning #11021: unresolved _ippsFIR_32f@16
3>ipo : error #11023: Not all components required for linking are present on command line
3> xilink: executing 'link'
3>LINK : fatal error LNK1104: cannot open file 'ippac_t.lib'
It seems that the IPP functions used are not included in my library A.
I'm using visual2010 with IPP7.0 (from Composer XE 2011 SP1).
Is there something wrong with my configuration?
Is there any way to solve this problem?
Could you pleasecheck the size of your library A and when you create the library A, do you havesome clause, like"#includeipp.h"
I' mguessing that, if your library A is a static library and when Use IPP: Multi-threaded static libray is open,itwon'tincludIPP static libraryinto your library A. So when you call linkA to your executable, you get link error " LINK : fatal error LNK1104: cannot open file 'ippac_t.lib'".
There are some solution for the problem.
1) for example, include ipp.h and link ipp*_t.lib in your library A in property package manually. Thus all specifed IPP static library will be included your library A.
But if you check the size of A, you will find the A is so large (more often, you may not want to distribute such hugethe library).
2) so we usually, recommend to build custom dll. which is based on IPP static library and based on the functions list you will called.
IPP provide custom dll builder sample, you may download itby going here.
Library Linking and Advanced Usage
MAIN - Custom DLLs and Static Libraries - advanced-usage\linkage\custom[dll|so|lib] -
Use custom DLLs, threaded and non-threaded merged static libraries, and different linking methodologies to produce smaller sized applications.