Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

MFC extention DLL & IPP static link

dstralau
Beginner
226 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
226 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
SergeyKostrov
Valued Contributor II
226 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
dstralau
Beginner
226 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 :(
SergeyKostrov
Valued Contributor II
226 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.
Reply