views:

130

answers:

1

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 LNK2001: 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!

A: 

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!

ame