Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

samples compilation error

lonely_hearts_club
729 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
729 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
0 Kudos
lonely_hearts_club
729 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
0 Kudos
Nina_K_Intel
Employee
729 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
0 Kudos
lonely_hearts_club
729 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
0 Kudos
Reply