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

UMC : Build Static Library success, Build Dynamic Library fail.

yman1
Beginner
791 Views
VS 2008 + Microsoft DirectX SDK (August 2007) + Windows XP x64 SP2

Use build32.bat build ipp-samples 5.3.095
audio-video-codecs, Build success.
Configuration Type = Static Library , Build success.
Configuration Type = Dynamic Library, build fail.

The log is below:

Creating temporary file "c:Documents and Settings{DEL}My DocumentsVisual Studio 2008ProjectsIntel Integrated Performance Primitives for Windowsipp-samples 5.3.095audio-video-codecs\_binWin32Debugumc_objRSP00001137682148.rsp" with contents
[
/Od /I "../../codec/sound3d_filter/include" /I "../../codec/aac_enc/include" /I "../../core/vm_plus/include" /I "../../codec/vc1_enc/include" /I "../../codec/dv100_enc/include" /I "../../codec/avs_spl/include" /I "../../codec/common/include" /I "../../codec/dv50_dec/include" /I "../../codec/mpeg2_mux/include" /I "../../codec/dv_enc/include" /I "../../codec/mp3_dec_int/include" /I "../../codec/mpeg4_spl/include" /I "../../codec/mpeg4_enc/include" /I "../../codec/vc1_spl/include" /I "../../io/umc_io/include" /I "../../codec/avs_dec/include" /I "../../codec/h263_enc/include" /I "../../io/media_buffers/include" /I "../../pipeline/umc_pipeline/include" /I "../../codec/h261_enc/include" /I "../../codec/mpeg4_dec/include" /I "../../codec/avi_spl/include" /I "../../codec/h264_spl/include" /I "../../codec/aac_enc_int/include" /I "../../codec/mpeg4_mux/include" /I "../../codec/aac_dec_int/include" /I "../../codec/vc1_dec/include" /I "../../codec/mpeg2_dec/include" /I "../../codec/vc1_common/include" /I "../../codec/dv_dec/include" /I "../../codec/h261_dec/include" /I "../../codec/ac3_dec/include" /I "../../codec/h264_dec/include" /I "../../codec/dv50_enc/include" /I "../../core/vm/include/sys" /I "../../codec/h264_enc/include" /I "include" /I "../../core/usc/include" /I "../../javascript:void(null)" /I "../../io/audio_renders/include" /I "../../codec/dv100_dec/include" /I "../../codec/reverb_filter/include" /I "../../core/vm/include" /I "../../codec/mp3_dec/include" /I "../../codec/speech_codec/include" /I "../../codec/avs_common/include" /I "../../codec/aac_dec/include" /I "../../codec/mp3_enc/include" /I "../../io/video_renders/include" /I "../../codec/mp3_enc_int/include" /I "../../plug-in/object_factory/include" /I "../../codec/jpeg/include" /I "../../codec/h263_dec/include" /I "../../codec/me/include" /I "../../codec/demuxer/include" /I "../../codec/color_space_converter/include" /I "../../codec/mpeg2_enc/include" /I "C:Program Files (x86)IntelIPP5.3.2.073ia32include" /I "C:Program Files (x86)Microsoft DirectX SDK (August 2007)Include" /D "_DEBUG" /D "WIN32" /D "_WIN32" /D "_WIN32_WINNT=0x500" /D "_WINDOWS" /D "_VC80_UPGRADE=0x0710" /D "_MBCS" /D "_WINDLL" /FD /EHsc /RTC1 /MTd /Zp16 /Fo" ../../_bin/Win32/Debug/umc_obj" /Fd"../../_bin/Win32/Debug/umc_objvc90.pdb" /W0 /c /Zi /TP ".srcumc_video_render.cpp"
".srcumc_video_decoder.cpp"
".srcumc_video_data.cpp"
".srcumc_utils.cpp"
".srcumc_splitter.cpp"
".srcumc_par_reader.cpp"
".srcumc_muxer.cpp"
".srcumc_media_data_ex.cpp"
".srcumc_media_data.cpp"
".srcumc_media_buffer.cpp"
".srcumc_index.cpp"
".srcumc_dual_thread_codec.cpp"
".srcumc_default_memory_allocator.cpp"
".srcumc_base_codec.cpp"
".srcumc_audio_render.cpp"
".srcumc_audio_codec.cpp"
]

Creating command line "cl.exe @"c:Documents and Settings{DEL}My DocumentsVisual Studio 2008ProjectsIntel Integrated Performance Primitives for Windowsipp-samples 5.3.095audio-video-codecs\_binWin32Debugumc_objRSP00001137682148.rsp" /nologo /errorReport:prompt"
Creating temporary file "c:Documents and Settings{DEL}My DocumentsVisual Studio 2008ProjectsIntel Integrated Performance Primitives for Windowsipp-samples 5.3.095audio-video-codecs\_binWin32Debugumc_objRSP00001237682148.rsp" with contents
[
/OUT:"../../_bin/Win32/Debugumc.dll" /DLL /MANIFEST /MANIFESTFILE:"../../_bin/Win32/Debug/umc_objumc.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DYNAMICBASE /NXCOMPAT kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

"....\_binWin32Debugumc_objumc_audio_codec.obj"

"....\_binWin32Debugumc_objumc_audio_render.obj"

"....\_binWin32Debugumc_objumc_base_codec.obj"

"....\_binWin32Debugumc_objumc_default_memory_allocator.obj"

"....\_binWin32Debugumc_objumc_dual_thread_codec.obj"

"....\_binWin32Debugumc_objumc_index.obj"

"....\_binWin32Debugumc_objumc_media_buffer.obj"

"....\_binWin32Debugumc_objumc_media_data.obj"

"....\_binWin32Debugumc_objumc_media_data_ex.obj"

"....\_binWin32Debugumc_objumc_muxer.obj"

"....\_binWin32Debugumc_objumc_par_reader.obj"

"....\_binWin32Debugumc_objumc_splitter.obj"

"....\_binWin32Debugumc_objumc_utils.obj"

"....\_binWin32Debugumc_objumc_video_data.obj"

"....\_binWin32Debugumc_objumc_video_decoder.obj"

"....\_binWin32Debugumc_objumc_video_render.obj"
]
Creating command line "link.exe @"c:Documents and Settings{DEL}My DocumentsVisual Studio 2008ProjectsIntel Integrated Performance Primitives for Windowsipp-samples 5.3.095audio-video-codecs\_binWin32Debugumc_objRSP00001237682148.rsp" /NOLOGO /ERRORREPORT:PROMPT"

Output Window

Compiling...
umc_video_render.cpp
umc_video_decoder.cpp
umc_video_data.cpp
umc_utils.cpp
umc_splitter.cpp
umc_par_reader.cpp
umc_muxer.cpp
umc_media_data_ex.cpp
umc_media_data.cpp
umc_media_buffer.cpp
umc_index.cpp
umc_dual_thread_codec.cpp
umc_default_memory_allocator.cpp
umc_base_codec.cpp
umc_audio_render.cpp
umc_audio_codec.cpp
Generating Code...

Linking...
umc_audio_codec.obj : error LNK2019: unresolved external symbol _ippsZero_8u@8 referenced in function "public: __thiscall UMC::AudioCodecParams::AudioCodecParams(void)" (??0AudioCodecParams@UMC@@QAE@XZ)
umc_muxer.obj : error LNK2001: unresolved external symbol _ippsZero_8u@8
umc_splitter.obj : error LNK2001: unresolved external symbol _ippsZero_8u@8
umc_default_memory_allocator.obj : error LNK2019: unresolved external symbol _ippsFree@4 referenced in function "public: virtual int __thiscall UMC::DefaultMemoryAllocator::Close(void)" (?Close@DefaultMemoryAllocator@UMC@@UAEHXZ)
umc_muxer.obj : error LNK2001: unresolved external symbol _ippsFree@4
umc_splitter.obj : error LNK2001: unresolved external symbol _ippsFree@4
umc_default_memory_allocator.obj : error LNK2019: unresolved external symbol _ippsMalloc_8u@4 referenced in function "public: virtual int __thiscall UMC::DefaultMemoryAllocator::Alloc(unsigned int *,unsigned int,unsigned int,unsigned int)" (?Alloc@DefaultMemoryAllocator@UMC@@UAEHPAIIII@Z)
umc_muxer.obj : error LNK2001: unresolved external symbol _ippsMalloc_8u@4
umc_splitter.obj : error LNK2001: unresolved external symbol _ippsMalloc_8u@4
umc_index.obj : error LNK2019: unresolved external symbol _vm_mutex_init referenced in function "public: __thiscall UMC::TrackIndex::TrackIndex(void)" (??0TrackIndex@UMC@@QAE@XZ)
umc_index.obj : error LNK2019: unresolved external symbol _vm_mutex_set_invalid referenced in function "public: __thiscall UMC::TrackIndex::TrackIndex(void)" (??0TrackIndex@UMC@@QAE@XZ)
umc_index.obj : error LNK2019: unresolved external symbol _vm_mutex_destroy referenced in function "public: __thiscall UMC::TrackIndex::~TrackIndex(void)" (??1TrackIndex@UMC@@QAE@XZ)
umc_index.obj : error LNK2019: unresolved external symbol _vm_mutex_is_valid referenced in function "public: __thiscall UMC::TrackIndex::~TrackIndex(void)" (??1TrackIndex@UMC@@QAE@XZ)
umc_index.obj : error LNK2019: unresolved external symbol _vm_mutex_lock referenced in function "public: __thiscall UMC::AutomaticMutex::AutomaticMutex(struct vm_mutex &)" (??0AutomaticMutex@UMC@@QAE@AAUvm_mutex@@@Z)
umc_index.obj : error LNK2019: unresolved external symbol _vm_mutex_unlock referenced in function "public: void __thiscall UMC::AutomaticMutex::Unlock(void)" (?Unlock@AutomaticMutex@UMC@@QAEXXZ)
umc_media_data.obj : error LNK2019: unresolved external symbol _ippsCopy_8u@12 referenced in function "public: virtual int __thiscall UMC::MediaData::MoveDataTo(class UMC::MediaData *)" (?MoveDataTo@MediaData@UMC@@UAEHPAV12@@Z)
umc_muxer.obj : error LNK2001: unresolved external symbol _ippsCopy_8u@12
umc_par_reader.obj : error LNK2019: unresolved external symbol _vm_file_fread referenced in function "public: int __thiscall UMC::ParamList::readPFile(char const *,char const *)" (?readPFile@ParamList@UMC@@QAEHPBD0@Z)
umc_par_reader.obj : error LNK2019: unresolved external symbol _vm_file_fclose referenced in function "public: int __thiscall UMC::ParamList::readPFile(char const *,char const *)" (?readPFile@ParamList@UMC@@QAEHPBD0@Z)
umc_par_reader.obj : error LNK2019: unresolved external symbol _vm_file_ftell referenced in function "public: int __thiscall UMC::ParamList::readPFile(char const *,char const *)" (?readPFile@ParamList@UMC@@QAEHPBD0@Z)
umc_par_reader.obj : error LNK2019: unresolved external symbol _vm_file_fseek referenced in function "public: int __thiscall UMC::ParamList::readPFile(char const *,char const *)" (?readPFile@ParamList@UMC@@QAEHPBD0@Z)
umc_par_reader.obj : error LNK2019: unresolved external symbol _vm_file_fopen referenced in function "public: int __thiscall UMC::ParamList::readPFile(char const *,char const *)" (?readPFile@ParamList@UMC@@QAEHPBD0@Z)
umc_par_reader.obj : error LNK2019: unre solved external symbol _vm_file_fprintf referenced in function "public: int __thiscall UMC::ParamList::dumpHelp(struct vm_file *)" (?dumpHelp@ParamList@UMC@@QAEHPAUvm_file@@@Z)
umc_splitter.obj : error LNK2019: unresolved external symbol _ippsSet_8u@12 referenced in function "public: __thiscall UMC::Splitter::Splitter(void)" (??0Splitter@UMC@@QAE@XZ)
../../_bin/Win32/Debugumc.dll : fatal error LNK1120: 17 unresolved externals
0 Kudos
9 Replies
Vladimir_Dudnik
Employee
791 Views

Hello,

it seems you do not have any issues with build IPP audio-video-codecs sample by the scripts coming with the sample, that's correct?

We did not provide VC2008 project with that sample.

Regards,
Vladimir

0 Kudos
yman1
Beginner
791 Views
vdudnik:

it seems you do not have any issues with build IPP audio-video-codecs sample >by the scripts coming with the sample, that's correct?

Yes.

vdudnik:

We did not provide VC2008 project with that sample.


Yes, I convert that project file from VS 2003 to VS 2008

I want build UMC (Unified Media Classes) to DLL (not lib),
becasue I want :
VB.net -> UMC (DLL) -> IPP API

P.S.
Can build32.bat build DLL?
0 Kudos
Vladimir_Dudnik
Employee
791 Views

Well, that is a good idea, but things are not so easy. Our original build script can't build UMC as DLL, and this was not supported on UMC interface level. Remember, you need to export API when you build DLL.

I think more practical solution in your case would be to develop your own API on top of UMC or re-using some existing, for example Direct Show (you may develop DS filters with UMC codecs). Then it should be easier to create .NET wrappers on top of such API.

Regards,
Vladimir

0 Kudos
ashukulkarni
Beginner
791 Views

hi vladimir

I have recently started coding in IPP rather C++ can u please give me a set of examples which can run on ipp5.1 as well as .net2005 i can see from you earlier posts that some of the examples running were made specifically for 2003 and not for others, correct me if i am wrong.

ashu

0 Kudos
Vladimir_Dudnik
Employee
791 Views

Hi,

first of all it should be noted that the latest version of IPP is 6.0 beta. It contains some samples how to provide .NET interface on top of C++ class libraries. You may take a look for example on IPP DMIP sample.

We also have separate .NET sample which demonstrate how to call IPP functions in C# or VB .NET

Regards,
Vladimir

0 Kudos
bedhead
Beginner
791 Views
hi,
I wrote a small piece of code.

#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"

using namespace UMC;

UMC::Status InitDataReader(DataReader *_DataReader, char *_file_name)
{
FileReaderParams _reader_params;
_reader_params.m_portion_size=0;
vm_string_strcpy(_reader_params.m_file_name, _file_name);

return _DataReader->Init(&_reader_params);
};

UMC::Status InitAVISplitter(Splitter *_AVISplitter, DataReader *_DataReader)
{
SplitterParams _spl_params;
_spl_params.m_lFlags = UMC::VIDEO_SPLITTER;
_spl_params.m_pDataReader=_DataReader;

return _AVISplitter->Init(_spl_params);
}

UMC::Status InitMJPEGVideoDecoder(VideoDecoder *_VideoDecoder, VideoStreamInfo *_video_info)
{
if(_video_info->stream_type != UMC::MJPEG_VIDEO)
return UMC_ERR_FAILED;

VideoDecoderParams _dec_params;

_dec_params.info=*_video_info;
_dec_params.lFlags=0;
// _dec_params.uiLimitThreads=1;

return _VideoDecoder->Init(&_dec_params);
}

int main()
{

return 0;
}

I tried to build this code to see my errors. I get those linker errors.

1>umc.lib(umc_splitter.obj) : error LNK2019: unresolved external symbol _ippsSet_8u@12 referenced in function "public: __thiscall UMC::Splitter::Splitter(void)" (??0Splitter@UMC@@QAE@XZ)
1>umc.lib(umc_splitter.obj) : error LNK2019: unresolved external symbol _ippsZero_8u@8 referenced in function "public: __thiscall UMC::Splitter::Splitter(void)" (??0Splitter@UMC@@QAE@XZ)
1>umc.lib(umc_splitter.obj) : error LNK2019: unresolved external symbol _ippsMalloc_8u@4 referenced in function "public: virtual int __thiscall UMC::Splitter::GetInfo(class UMC::SplitterInfo *)" (?GetInfo@Splitter@UMC@@UAEHPAVSplitterInfo@2@@Z)
1>umc.lib(umc_default_memory_allocator.obj) : error LNK2001: unresolved external symbol _ippsMalloc_8u@4
1>umc.lib(umc_splitter.obj) : error LNK2019: unresolved external symbol _ippsFree@4 referenced in function "public: virtual int __thiscall UMC::Splitter::GetInfo(class UMC::SplitterInfo *)" (?GetInfo@Splitter@UMC@@UAEHPAVSplitterInfo@2@@Z)
1>umc.lib(umc_default_memory_allocator.obj) : error LNK2001: unresolved external symbol _ippsFree@4
1>umc.lib(umc_media_data.obj) : error LNK2019: unresolved external symbol _ippsCopy_8u@12 referenced in function "public: virtual int __thiscall UMC::MediaData::MoveDataTo(class UMC::MediaData *)" (?MoveDataTo@MediaData@UMC@@UAEHPAV12@@Z)
1>C:Documents and SettingscagriMy DocumentsVisual Studio 2005ProjectsDiskDebugDisk.exe : fatal error LNK1120: 5 unresolved externa ls

I built UMC by executing build32. Also I added all lib files that i need to Project->Properties->Linker->Input. However, I couldn't fix this linker error.


0 Kudos
Vladimir_Dudnik
Employee
791 Views

Hello,

If you still have unresolved externals it most probably mean that you have not added __all__ lib files you need. From your build log it is obvious that linker can't resolve references to IPP signal processing functions. Please carefully check your project settings to find the root cause of this.

Regards,
Vladimir

0 Kudos
bedhead
Beginner
791 Views
Thanks a lot Vladimir,
I am begginer on UMC and VC++. When I saw those linker errors, I also understood that i haven't add enough lib files. However, I couldn't think that the root of problem is IPP signal functions. Thanks again...

Have a nice day!
0 Kudos
Vladimir_Dudnik
Employee
791 Views

You are welcome. Wish you success with your project.

Vladimir

0 Kudos
Reply