织梦CMS - 轻松建站从此开始!

快乐平台出租:罗索

Windows Mobile 上常见的 DirectShow 链接错误

落鹤生 发布于 2012-10-15 09:16 点击:次 
最近在Mobile上搞Camera的时候碰到了千奇百怪的链接错误,在这里记录一下。
TAG:

湖南快乐十分玩法 www.7mhm0.cn 最近在Mobile上搞Camera的时候碰到了千奇百怪的链接错误,在这里记录一下。

第一步

最简单的错误。 这个错误类似于如下的error messsage:

1>cameraEmpty.obj : error LNK2001: unresolved external symbol IID_IVideoWindow
1>cameraEmpty.obj : error LNK2001: unresolved external symbol PIN_CATEGORY_PREVIEW
1>cameraEmpty.obj : error LNK2001: unresolved external symbol MEDIATYPE_Video
1>cameraEmpty.obj : error LNK2001: unresolved external symbol CLSID_VideoCapture
1>cameraEmpty.obj : error LNK2001: unresolved external symbol CLSID_FilterGraph
1>cameraEmpty.obj : error LNK2001: unresolved external symbol CLSID_CaptureGraphBuilder

这种样式的错误的原因就是你没有把那些directx常用的那些lib引入。解决方案就是在stdafx.h里面加入这段代码:

  1. #pragma comment(lib, "atlosapis.lib") 
  2. #pragma comment(lib, "strmbase.lib") 
  3. #pragma comment(lib, "Strmiids.lib") 
  4. #pragma comment(lib, "dmoguids.lib") 

第二步

很多时候把这些库引入了还是有其他的连接错误, 形如:

1>cameraEmpty.obj : error LNK2019: unresolved external symbol "public: __cdecl CTransInPlaceFilter::CTransInPlaceFilter(wchar_t *,struct IUnknown *,struct _GUID const &,long *)" ([email protected]@[email protected][email protected]@[email protected]@[email protected]) referenced in function "public: __cdecl CRotateFilter::CRotateFilter(wchar_t *,struct IUnknown *,long *)" ([email protected]@[email protected][email protected]@[email protected])
1>cameraEmpty.obj : error LNK2001: unresolved external symbol "public: virtual long __cdecl CTransformFilter::FindPin(wchar_t const *,struct IPin * *)" ([email protected]@@[email protected]@@Z)
1>cameraEmpty.obj : error LNK2001: unresolved external symbol "public: virtual long __cdecl CBaseFilter::JoinFilterGraph(struct IFilterGraph *,wchar_t const *)" ([email protected]@@[email protected]@[email protected])
1>cameraEmpty.obj : error LNK2001: unresolved external symbol "public: virtual long __cdecl CBaseFilter::QueryVendorInfo(wchar_t * *)" ([email protected]@@[email protected])

这样的链接错误来源于工程里面的一个设定:

Configuration Properties=>C/C++=>Language

把Treat wchar_t as Built-in Type的值设成 NO! 这样这一类的问题大致解决了。 很多时候到这一步就可以编译了,当然我指的是Release build已经可以通过编译了,但是在debug版本编译的时候还有一个问题存在,这就是第三步。

第三步。

cameraEmpty.obj : error LNK2001: unresolved external symbol "public: virtual unsigned long __cdecl CBaseFilter::NonDelegatingRelease(void)" ([email protected]@@UAAKXZ)

这个是很经典的问题,原因在于随SDK发布的这个strmbase的lib在debug模式下是错误的,要一个新的strmbase.lib和strmbase.pdb的包来替代。对于PPC SDK,这个位置在

C:/Program Files/Windows CE Tools/wce500/Windows Mobile 5.0 Pocket PC SDK/Lib/ARMV4I

下面,这个跟新的包的位置在//www.alexfeinman.com/files/strmbase.zip可以下载到。

当然如果你不用这个包取代也可以, 你可以编译release版, release版总是work的, 更或者, 你自己去实现一个基类的NonDelegatingRelease方法也可以

 

这个东西还是挺折腾的,希望其他人不要被烦到 哈哈

(hhygcy)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [//dev.open365.com.cn/a/201210/16311.html]
本文出处:CSDN博客 作者:hhygcy 原文
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
将本文分享到微信
推荐内容

  • 端午遇上父亲节,旺了周边游 2019-06-10
  • 中国才是当今世界最大的民主国家 2019-06-10
  • 国际刑事法院宣布刚果(金)前副总统已被临时释放 2019-06-05
  • 组图:盛夏时节山西运城盐湖产盐忙 2019-05-31
  • 尼日利亚巴耶尔萨州州长签署反邪教法令 2019-05-31
  • 呵呵,有见地,有深度。 2019-05-14
  • 赋予妇女更多权利!沙特首次向女性发驾照 2019-05-14
  • 河流旅行地中国国家地理网 2019-05-13
  • 一行两会传递金融开放信号 沪伦通制度安排就绪  2019-05-01
  • 外媒热议习近平讲话:中国军队现代化速度超越西方想象 2019-04-21
  • 原始社会为何会走向私有制?就是有这样的阶级要过得比共同一起生活更好,要过得比大多数人的生活好,自然就有了阶级斗争,要过得比大多数人更好的阶级就战胜要共同一起生活 2019-04-21
  • 始终坚持以人民为中心的发展思想不断满足群众日益增长美好生活需要 2019-04-14
  • 人民网评:医疗服务应该回归患者本位 2019-04-14
  • 鹿晗解说、姜文定制宣传片 世界杯主题的网综来了 2019-04-12
  • 【北京丰泰康宏车型报价】北京丰泰康宏综合店车型价格 2019-04-10
  • 847| 758| 740| 123| 982| 725| 244| 979| 436| 142|