Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.

samples compilation error

lonely_hearts_club
236 Views
Environment:
Windows 7 Ultimate 64bit
Windows SDK 7.0
Visual Studio 2008
Intel Media SDK 2.0 GOLD

I tried to compile the H264_encoder source code from the dshow plugin samples.But I get the followingerrors:

1>h264_enc_proppage.obj : error LNK2019:unresolved external symbol "public: static wchar_t * __cdecl CodecPreset::Preset2Str(unsigned int)" (?Preset2Str@CodecPreset@@SAPA_WI@Z)referenced in the function"private: long __thiscall CH264EncPropPage::FillCombos(void)" (?FillCombos@CH264EncPropPage@@AAEJXZ) 1>video_enc_filter.lib(mfx_video_enc_proppage.obj) : error LNK2019:unresolved external symbol "public: __thiscall CBasePropertyPage::CBasePropertyPage(wchar_t const *,struct IUnknown *,int,int)" (??0CBasePropertyPage@@QAE@PB_WPAUIUnknown@@HH@Z)referenced in the function "public: __thiscall CVideoEncPropPage::CVideoEncPropPage(struct IUnknown *)" (??0CVideoEncPropPage@@QAE@PAUIUnknown@@@Z)
1>video_enc_filter.lib(mfx_video_enc_filter.obj) : error LNK2019:unresolved external symbol "public: __thiscall CTransformFilter::CTransformFilter(wchar_t const *,struct IUnknown *,struct _GUID const &)" (??0CTransformFilter@@QAE@PB_WPAUIUnknown@@ABU_GUID@@@Z)referenced in the function"public: __thiscall CEncVideoFilter::CEncVideoFilter(wchar_t *,struct IUnknown *,struct _GUID,long *)" (??0CEncVideoFilter@@QAE@PA_WPAUIUnknown@@U_GUID@@PAJ@Z)
1>video_enc_filter.lib(mfx_video_enc_filter.obj) : error LNK2019:unresolved external symbol "public: __thiscall CTransformOutputPin::CTransformOutputPin(wchar_t const *,class CTransformFilter *,long *,wchar_t const *)" (??0CTransformOutputPin@@QAE@PB_WPAVCTransformFilter@@PAJ0@Z)referenced in the function"public: __thiscall CEncoderOutputPin::CEncoderOutputPin(class CTransformFilter *,long *)" (??0CEncoderOutputPin@@QAE@PAVCTransformFilter@@PAJ@Z)
1>video_enc_filter.lib(mfx_video_enc_filter.obj) : error LNK2019:unresolved external symbol "public: __thiscall CTransformInputPin::CTransformInputPin(wchar_t const *,class CTransformFilter *,long *,wchar_t const *)" (??0CTransformInputPin@@QAE@PB_WPAVCTransformFilter@@PAJ0@Z)referenced in the function"public: __thiscall CEncoderInputPin::CEncoderInputPin(class CTransformFilter *,long *)" (??0CEncoderInputPin@@QAE@PAVCTransformFilter@@PAJ@Z)
1>..\\..\\..\\_build\\Win32\\Debug\\h264_enc_filter.dll : fatal error LNK1120: 5 unresolved externals



any hint to solve it? Thanks!
0 Kudos
4 Replies
IDZ_A_Intel
Employee
236 Views
Building thedirectshow pluginsrequires a few more stepsthan the console samples.

Here is what I did to build this sample (similar steps are in sample_plugins/readme-dshow-plugins.rtf):

1. Install Microsoft Windows SDK
2. Install Media SDK
3. Check that the DSHOW_BASECLASSES_PATH environment variable is set to the BaseClasses directory (under Windows SDK) -- the Media SDK installer should set this if Windows SDK is present.
4. Build the Media SDK DirectShow BaseClasses
5. Starting from the new install, build sample_filters.sln.

I suspect that something in the h264_enc_filter projectis not quite right -- hopefully starting with a new one (after getting DirectShow set up) will get this working for you.

Pleaselet us know if this does not solve the problem.

Regards,

Jeff
lonely_hearts_club
236 Views
Hello Jeff,
Thanks for your quick reply.I've checked the 5 steps you listed above and I think Imissed none.
Here ismy specific procedure:
1.Install Microsoft Windows SDK 7.0
2.Build the DirectShow BaseClasses.(Successfully got strmbasd.lib in the debug folder)
3.Manually set theDSHOW_BASECLASSES_PATH environment variable to the Windows SDK directory which is C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\multimedia\directshow\baseclasses
4.Build sample_filters.sln(Only build h264_enc_filter). "common,sample_common,utils,video_enc_filter" are built successfully, but "h264_enc_filter" failed.

I tried the steps again but the same situation happened.

Thebuildlog is uploaded here for more information.I wish the Chinese charaters in the log won't bother you much.


Regards,

Patrick
Nina_K_Intel
Employee
236 Views
Hi Patrick,
Could you try cheking if BaseClasses were built with General->CharacterSet=Use Unicode Character Set setting? The error log points that there's a mismatch in character type and MSDK samples are built with Unicode so other libraries that they link to must have same setting.
I hope this helps you.
Regards,
Nina
lonely_hearts_club
236 Views
Hello Nina,
Thank you for reminding me of the character setting.I suddenly realized what has happened as soon as I saw your explaination.The problem has solved.Thank you!


Regards,

Patrick
Reply