我尝试构建CEPlayit文件(DirectShow播放器示例)。我将它们添加到基于我的设备的sdk(名为TEMP)的智能设备项目中。我在visual Studio 2005中使用MFC。但是发生了以下错误:
错误1错误LNK2001:未解析的外部符号IID_IBasicAudio vidwindow.obj
错误2错误LNK2001:未解析的外部符号CLSID_OverlayMixer ceplayit.obj
错误3错误LNK2001:未解析的外部符号IID_IBaseFilter ceplayit.obj
错误4错误LNK2001:未解析的外部符号IID_IMediaEventEx ceplayit.obj
错误5错误LNK2001:未解析的外部符号IID_IBasicVideo ceplayit.obj
错误6错误LNK2001:未解析的外部符号IID_IVideoWindow ceplayit.obj
错误7错误LNK2001:未解析的外部符号IID_IMediaPosition ceplayit.obj
错误8错误LNK2001:未解析的外部符号IID_IMediaSeeking ceplayit.obj
错误9错误LNK2001:未解析的外部符号IID_IMediaControl ceplayit.obj
错误10错误LNK2001:未解析的外部符号CLSID_FilterGraph ceplayit.obj
错误11错误LNK2001:未解析的外部符号IID_IGraphBuilder ceplayit.obj
错误12致命错误LNK1120:11未解析的外部TEMP
我读到我需要将strmbase.lib
链接到我的项目,但我认为我无法正确执行此操作并且错误仍然存在。
请帮忙!
答案 0 :(得分:4)
我解决了这个问题,必须链接.libs strmiids.lib和strmbase.lib。我不知道该怎么做以及万一有像我这样的人: 在项目属性 - >配置prop->链接器 - >一般...附加库目录,添加.lib文件所在的路径,对我来说是C:\ Program Files \ Windows CE Tools \ wce600 \ TEMP \ Lib \ ARMV4I,其中TEMP是我正在使用的SDK的名称。
在项目属性 - >配置支持 - >链接器 - >输入 - >其他依赖关系中,添加需要用空格分隔的.lib:strmbase.lib strmiids.lib
并且它成功构建了!