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

MFC extention DLL & IPP static link

dstralau
Beginner
481 Views

Dear @all,
this theme is a greate suff, i think so. So far, i'm using the IPP_SEQUENTIAL_STATIC macro everthing works fine, linking and so on, the extention DLL is a multi threading dll, and so i thought, to define the IPP_PARALLEL_STATIC macro and i was supprised,after i started my project,the ipp7xxx.dll was attached.
Pls can you explain, what i have made wrong ?

Regard, Detlef

0 Kudos
4 Replies
dstralau
Beginner
481 Views
Sorry, i have forgotten to attach to link options:
UxTheme.lib
Pdh.lib
Dbghelp.lib
Psapi.lib
ippcore_t.lib
dsound.lib
dxguid.lib
ddraw.lib
winmm.lib
ipps_t.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\umc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\vm.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\vm_plus.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\audio_renders.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\media_buffers.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\umc_io.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\video_renders.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\umc_pipeline.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\aac_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\aac_dec_int.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\aac_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\aac_enc_int.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\ac3_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\avi_spl.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\avs_common.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\avs_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\avs_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\avs_spl.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\color_space_converter.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\common.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\demuxer.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\dv_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\dv_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\dv50_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\dv50_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\dv100_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\dv100_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\h261_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\h261_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\h263_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\h263_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\h264_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\h264_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\h264_spl.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\jpeg.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\me.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\mp3_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\mp3_dec_int.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\mp3_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\mp3_enc_int.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\mpeg2_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\mpeg2_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\mpeg2_mux.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\mpeg4_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\mpeg4_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\mpeg4_mux.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\mpeg4_spl.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\scene_analyzer.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\spl_common.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\vc1_common.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\vc1_dec.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\vc1_enc.lib
$(IPP_SAMPLE_DIR)\_bin\$(Platform)\$(ConfigurationName)\vc1_spl.lib
0 Kudos
SergeyKostrov
Valued Contributor II
481 Views
You can doadditional verificationon your MFC extention DLLwith an MSutility Depends.exe from Platform SDK ( older versions \ always in Bin folder). Theutility has UI and allows to see all dependent DLLs.

If ipp7xxx.dll is in the tree-view it means that something is wrong inyour project.

Some versions of MS Visual Studios also could have Depends.exe.

Best regards,
Sergey
0 Kudos
dstralau
Beginner
481 Views
Hi,

first thx for your fast reply. Second, if idefine the IPP_SEQUENTIAL_STATIC marcro, everything is linked static and works fine, also the Dependecy Waler shows me, that no ipp7core.dll is in use, but if i change IPP_SEQUENTIAL_STATIC against the IPP_PARALLEL_STATIC macro and lookup the dependenies in the Dependcy Walker, i see that ipp7core.dll is in use, but why ?
I changed nothing else, so i have no expanation for this behaviour :(
0 Kudos
SergeyKostrov
Valued Contributor II
481 Views
Two moreverifications could be done:

- In IPP's include filesfind declaration for IPP_PARALLEL_STATIC and look for a directive:

#pragma comment ( lib, "ipp7core.lib" )

- CheckLinker Settingsof your project

Also, any DLL could be loaded by another application or DLL using Win32 API functions LoadLibrary or LoadLibraryEx, and it could be a possible explanation of why ipp7core.dll is in use by your application.
0 Kudos
Reply