i have installed a Win7 (32bits) test machine and i tried to run simple_player.exe which i downloaded and build from v7.0.2.048 (from my laptop) and i have error running. the error was complaining about :
The Program can't start because ippcore-7.0.dll is missing from your computer. Try reinstalling this program to fix this problem.
this win7 machine is without any IPP installation. no IPP7 nor IPP6 being installed. i compiled the simple_player on my laptop and my laptop has IPP7 installed.
on a seperate Win7 machine, i have to force install a intel IPP7 package and when running this simple_player it does not complain at all.
i guess from this error and exercise i can see that the installation of IPP7 that gives ippcore-7.0.dll will solve this problem. But on scaling, i dont think we should install all machine with ipp7 package.
my question is, what do i need to set in simple_player compilation from my laptop, so that it will be independent from IPP7? i want to compile this simple_player.exe which can run on independent machine without this machine a need to install IPP at all.
does anyone has any clue how to have compilation setting ?
thanks in advance.
You can statically link with IPP libraries:
If you build with bash file, In the audio-video-codecs\Makefile, change
LINKAGE = dynamic
LINKAGE = static
If you built with VC project file, in the simple_player property>>C/C++>>Preprocessor>>
you are not required to install whole IPP SDK on enf-user system. If you choose dynamic link with IPP for your application then you have to provide redistributable files on end-user systems in order to guarantee all necessary files availale at run time. Please look for redist.txt file located in IPP documentation folder.
You also may consider static link with IPP in order to avoid redistribution of additional files. In thi s case you will need to modify sample build script by yourself.
i did what you recommended, i have seperate linking error as below :
1>------ Build started: Project: simple_player, Configuration: release_ascii Win32 ------
1>LINK : fatal error LNK1104: cannot open file 'libircmt.lib'
i tried to see what is the problem on libircmt.lib and i came across this page in forum : http://software.intel.com/en-us/articles/performance-tools-for-software-developers-using-intel-ipp-threaded-static-libraries/
i proceed to add on a list of libs such as :
ippac.lib ippac_l.lib ippac_t.lib ippcc.lib ippcc_l.lib ippcc_t.lib ippch.lib ippch_l.lib ippch_t.lib ippcore.lib ippcore_l.lib ippcore_t.lib ippcv.lib ippcv_l.lib ippcv_t.lib ippdc.lib ippdc_l.lib ippdc_t.lib ippdi.lib ippdi_l.lib ippdi_t.lib ippi.lib ippi_l.lib ippi_t.lib ippj.lib ippj_l.lib ippj_t.lib ippm.lib ippm_l.lib ippm_t.lib ippr.lib ippr_l.lib ippr_t.lib ipps.lib ipps_l.lib ipps_t.lib ippsc.lib ippsc_l.lib ippsc_t.lib ippvc.lib ippvc_l.lib ippvc_t.lib ippvm.lib ippvm_l.lib ippvm_t.lib winmm.lib ddraw.lib dsound.lib pdh.lib Ws2_32.lib
(basically added all) because i still couldnt resolve the problem.
any thoughts you can share further?
'libircmt.lib' is Intel compiler runtime library. Add the folder like the following into linkage path:
C:\Program Files (x86)\Intel\ComposerXE-2011\compiler\lib\ia32
You added too much into the linking command line. :-). Only the following libraries are needed ( no *.lib, no *_t.lib, only need *_l.b)
ippac_l.lib ippcc_l.lib ippch_l.lib ippcore_l.lib ..... winmm.lib ddraw.lib dsound.lib pdh.lib Ws2_32.lib
i did all as recommended. and i still see the same error complaining ippcore-7.0.dll is missing.
confirm the setting as IPP_SEQUENCTIAL_STATIC compilation and even tried IPP_PARALLEL_STATIC. the size of simple_player.exe remains the same.
any further advice?