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

creating a static linked application without dispatching using UMC

bendeguy
Beginner
374 Views

Hi!

My question is how can I do this? I found this:

Single Processor Static Linkage

In this example, our target system processor is an Intel Pentium 4 processor:

  1. Add the file ippsmerged.lib to your project and its source tree.
  2. Include ipp_w7.h for Intel Pentium 4 processor, this inclusion must be before the other Intel IPP header files.
  3. Add the file ippcorel.lib to your project and its source tree.
  4. Include ipp.h as normal, after the header ipp_w7.h.
  5. Call Intel IPP functions normally from your application.

I put #include "ipp_w7.h" into my application but it says that the UMC classes are not OKAY. For example Error6error LNK2001: unresolved external symbol _ippiBGRToYCbCr422_8u_C3C2R@24color_space_converter.lib. I don't really know how to say to the umc classes that I don't want dispatching.

Thanks in advance, for all help. Greetings,

Bendeguy

0 Kudos
3 Replies
Vladimir_Dudnik
Employee
374 Views

Hi,

do you link with IPP static libraries?

Please double check that ipp_w7.h file is included before any IPP headers (this requirement also for UMC files, where IPP headers are included)

Regards,
Vladimir

0 Kudos
bedhead
Beginner
374 Views
Hi all,

I also have similar type of linker error in my VC8 C++ project. I included
#include
#include
#include "ippdefs.h"
#include "ippcore.h"
#include "ipps.h"
#include "ippi.h"
#include "ippj.h"
#include "ippcc.h"
#include "vm_time.h"
#include "umc_defs.h"
#include "umc_structures.h"
#include "umc_data_reader.h"
#include "umc_splitter.h"
#include "umc_video_decoder.h"
#include "umc_video_data.h"
#include "umc_file_reader.h"
#include "umc_fio_reader.h"
#include "umc_avi_splitter.h"
#include "umc_mjpeg_video_decoder.h"
#include "fw_video_render.h"

Then, I added appropriate libs
umc.lib ippimerged.lib ippjmerged.lib ippsmerged.lib ippsemerged.lib ippcorel.lib video_renders.lib vm.lib umc_io.lib media_buffers.lib jpeg.lib ippiemerged.lib ippjemerged.lib avi_spl.lib vm_plus.lib spl_common.lib color_space_converter.lib ippccemerged.lib ippccmerged.lib

However, I couldn't stop getting those error messages.

1>color_space_converter.lib(umc_color_space_conversion.obj) : error LNK2019: unresolved external symbol _ippiRangeMapping_VC1_8u_C1R@28 referenced in function "int __cdecl CopyImage(class UMC::VideoData *,class UMC::VideoData *,int,int)" (?CopyImage@@YAHPAVVideoData@UMC@@0HH@Z)
1>color_space_converter.lib(umc_deinterlacing.obj) : error LNK2019: unresolved external symbol _ippiDeinterlaceFilterTriangle_8u_C1R@32 referenced in function "public: virtual int __thiscall UMC::Deinterlacing::GetFrame(class UMC::MediaData *,class UMC::MediaData *)" (?GetFrame@Deinterlacing@UMC@@UAEHPAVMediaData@2@0@Z)
1>C:Documents and SettingscagriMy DocumentsVisual Studio 2005ProjectsDiskDebugDisk.exe : fatal error LNK1120: 2 unresolved externals

Am i doing somethig wrong or missing something?

Thanks in advance...
0 Kudos
Vladimir_Dudnik
Employee
374 Views

There is definetely something wrong and something missed. You did not check with IPP documentation in which IPP library these particular functions are defined (and that is wrong). As a result you missed ippvcemerged and ippvcmerged libraries in your link list.

Please pay attention to product documentation before use. That is especially important for such a huge software product like IPP is (and the importance is doubled if you are novice with IPP).

Regards,
Vladimir

0 Kudos
Reply