(高分在线等待,来者有分)Visual Studio 2003编译连接directshow sample程序碰到的问题

dreameasy 2004-04-21 02:31:47
最近我装了Visual Studio 2003,今天发现编译连接directshow的sample程序playwnd的时候,出现以下错误,百思不得其解,请高手指教,很急!!!

PlayWnd error LNK2019: 无法解析的外部符号 "long __stdcall ATL::AtlWinModuleInit(struct ATL::_ATL_WIN_MODULE70 *)" (?AtlWinModuleInit@ATL@@YGJPAU_ATL_WIN_MODULE70@1@@Z) ,该符号在函数 "public: __thiscall ATL::CAtlWinModule::CAtlWinModule(void)" (??0CAtlWinModule@ATL@@QAE@XZ) 中被引用

PlayWnd error LNK2001: 无法解析的外部符号 "class ATL::CAtlBaseModule ATL::_AtlBaseModule" (?_AtlBaseModule@ATL@@3VCAtlBaseModule@1@A)

PlayWnd fatal error LNK1120: 2 个无法解析的外部命令
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreameasy 2004-04-21
  • 打赏
  • 举报
回复
不好意思,一时冲动把分全给了 hatecoding(hate coding) ,违背了我开贴的承诺,对不起捧场的兄弟们。我有罪!
dreameasy 2004-04-21
  • 打赏
  • 举报
回复
哈哈,搞定了!
真是要把atlbase.h改成atlcore.h,谢谢 hatecoding(hate coding)
hatecoding 2004-04-21
  • 打赏
  • 举报
回复
把atlbase.h改成atlcore.h
hatecoding 2004-04-21
  • 打赏
  • 举报
回复
Wizard issues when migrating a project from ATL 6.0 to ATL 7.1
When converting a Visual C++ 6.0 project to a Visual C++ .NET 2003 project, message handlers are added to the end of the message map. If the message map has a CHAIN_*_MAP(...) entry, items added by the wizard will be included at the end of the entry, and may not be processed.

For example, when migrating a project containing a Visual C++ 6.0 ATL control to a Visual C++ .NET 2003 project, the OnInitDialog handler is never called. This is because the MESSAGE_HANDLER is placed after the CHAIN_MSG_MAP(...) entry, instead of before.

To ensure the OnInitDialog handler is called, the line CHAIN_MSG_MAP(CComControl<Name of class>) must be included at the end of the CHAIN_MSG_MAP(...) entry. Alternately, the OnInitDialog base class implementation should perform the necessary initialization.

CAtlServiceModuleT::InitializeSecurity has been removed from CAtlServiceModuleT
In Visual Studio .NET 2003, this method is not implemented in the base class. For details, see CAtlServiceModuleT::InitializeSecurity.

SetRfc822Time function updated
To avoid potential buffer overruns, the SetRfc822Time function now has an extra parameter and a return value that indicates the length of string required to store the returned time data.

Projects created with default ATL Wizard will fail on Windows NT
In Visual Studio .NET 2003, the MIDL compiler has a default setting of /robust, which causes projects running under Windows NT 4 to stop responding.

To change the MIDL compiler flag to /no_robust

Right-click your project, and on the shortcut menu, click Properties.
The Project Properties dialog box appears.

In the left pane, click MIDL, and then select Command Line.
Enter /no_robust in the Additional Options text box.
hatecoding 2004-04-21
  • 打赏
  • 举报
回复
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
所需的基本库
wlpwind 2004-04-21
  • 打赏
  • 举报
回复
或者tools-->options-->directories中lib目录列表没有包含库所在目录。
wlpwind 2004-04-21
  • 打赏
  • 举报
回复
project-->setting-->link-->objects/library modules中没有包含需要的Atl库。

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧