自己建立个新的DLL作为DIRECTSHOW FILTER,但是编译不通过

morphia 2005-05-13 10:32:36
我建立的步骤如下(DEBUG模式):
1、新建一个DLL工程
2、在工程中设计C++的编译模式为_STDCALL
3、在链接的LIBRARY中输入strmbasd.lib msvcrtd.lib winmm.lib
4、建立MAIN.CPP文件并且输入

extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, DWORD, LPVOID);

BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID p)
{
return DllEntryPoint(instance, reason, p);
}

但是,链接出错,信息如下:
Linking...
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A)
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "int g_cTemplates" (?g_cTemplates@@3HA)
Debug/sam4.dll : fatal error LNK1120: 2 unresolved externals

不知道这里的同学有没有碰到这样的问题,先谢谢啦!
...全文
46 点赞 收藏 4
写回复
4 条回复
httpaspjspphp 2005年05月13日
肯定时环境没设置好
你仔细检查
回复 点赞
morphia 2005年05月13日
另外,当前的VS2003中已经设置好了当前的DXSDK的路径(其中的所有的设置都是按照陆老师的书中P66-P67页中的内容来设置的)不知道为什么会出这样的错误
回复 点赞
yyhzpk 2005年05月13日
应该还是环境配置问题了,看一下project下面的setting c/c++
中的预处理宏定义,是否定义_DLL等,建议楼主打开一个SDK的例子,
然后照着把环境配置都抄过来,估计就没有问题了
回复 点赞
dongchaomissyou 2005年05月13日
设置路径问题应该是。建议看下DX里面DirectShow的例子里的设置方法,你这样说很难判断是那里出的问题
回复 点赞
发动态
发帖子
多媒体/流媒体开发
创建于2007-08-27

2051

社区成员

2.0w+

社区内容

专题开发/技术/项目 多媒体/流媒体开发
社区公告
暂无公告