读书人

directshow 有关问题 找不到 atlthunk

发布时间: 2012-05-04 12:36:09 作者: rapoo

directshow 问题 找不到 atlthunk.lib
我以前没搞过directshow的项目。
这次用windows sdk + directx 9 feb 2005
代码需要头文件
#include <qedit.h>
#include <dshow.h>
#include <windows.h>
#include <atlbase.h>
#include <Streams.h>

依赖的库文件
strmiids.lib
Strmbasd.lib

编译时报错:
LINK : fatal error LNK1104: 无法打开文件“atlthunk.lib”

我找了半天机器上没有这个文件。网上也不知道到哪里下载。
网上有人说把atlbase.h里面一句pragma删掉就好了,可事实上atlbase.h里面没找到包含atlthunk.lib的pragma
还有人说做一个dummy lib改名字改成atlthunk.lib,我也试过,也不行。这样做就会招来几个未定义的外部符号错误。

我不知道该怎么办了,请各位高人帮忙啦。。


[解决办法]
atlthunk.lib需要安装WINDDK(windows device develop kit 设备驱动开发包)后才会有!
你去下载个WINDDK试试看!
下载地址:http://download.csdn.net/source/872448

[解决办法]
去掉对atlthunk.lib 的引用。使用Visual C++ 2005或者更高版本中的ATL和MFC。

在Visual C++ 2005推出之前,应用户要求,微软在Platform SDK里面包含了ATL和MFC的预发布版使得他们可以编写64位的程序而不用等Visual C++ 2005推出。使用这个版本的ATL和MFC库的条件是用户同意在Visual C++ 2005推出之后使用正式版的ATL和MFC。

这个版本的ATL和MFC库在新版本的SDK中被移除了。新的项目应该使用正式版的ATL和MFC。
[解决办法]

探讨
去掉对atlthunk.lib 的引用。使用Visual C++ 2005或者更高版本中的ATL和MFC。

在Visual C++ 2005推出之前,应用户要求,微软在Platform SDK里面包含了ATL和MFC的预发布版使得他们可以编写64位的程序而不用等Visual C++ 2005推出。使用这个版本的ATL和MFC库的条件是用户同意在Visual C++ 2005推出之后使用正式版的ATL和MFC。

这个版本的ATL和MFC库在新版本的SDK中被移除了。新的项目应该使用正式版的ATL和MFC。

读书人网 >C++

热点推荐