I tried to build the CEPlayit files (of DirectShow player samples). I added them to a smart device project based on the sdk for my device (named TEMP). I am using MFC in visual Studio 2005. However the following errors occurred:
Error 1 error LNK2001: unresolved external symbol IID_IBasicAudio vidwindow.obj
Error 2 error LNK200开发者_开发技巧1: unresolved external symbol CLSID_OverlayMixer ceplayit.obj Error 3 error LNK2001: unresolved external symbol IID_IBaseFilter ceplayit.obj Error 4 error LNK2001: unresolved external symbol IID_IMediaEventEx ceplayit.obj Error 5 error LNK2001: unresolved external symbol IID_IBasicVideo ceplayit.obj Error 6 error LNK2001: unresolved external symbol IID_IVideoWindow ceplayit.obj Error 7 error LNK2001: unresolved external symbol IID_IMediaPosition ceplayit.obj Error 8 error LNK2001: unresolved external symbol IID_IMediaSeeking ceplayit.obj Error 9 error LNK2001: unresolved external symbol IID_IMediaControl ceplayit.obj Error 10 error LNK2001: unresolved external symbol CLSID_FilterGraph ceplayit.obj Error 11 error LNK2001: unresolved external symbol IID_IGraphBuilder ceplayit.obj Error 12 fatal error LNK1120: 11 unresolved externals TEMP
I read that I need to link strmbase.lib
to my project but I think I am unable to correctly do this and the errors persist.
Please help!
I solved the problem, the .libs strmiids.lib and strmbase.lib had to be linked. I did not not know how to do this and in case there is anyone else like me: in project properties->configuration prop->linker->general... additional library directories, add the path where the .lib files are, which for me was C:\Program Files\Windows CE Tools\wce600\TEMP\Lib\ARMV4I, where TEMP was the name of the SDK i was using.
In project properties->configuration prop->linker->input->additional dependencies, add the .libs you require separated by a space: strmbase.lib strmiids.lib
and it built successfully!
精彩评论