Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Can';t包括DirectShow示例并进行编译(PushSourceDesktop)_C++_Com_Directshow - Fatal编程技术网

C++ Can';t包括DirectShow示例并进行编译(PushSourceDesktop)

C++ Can';t包括DirectShow示例并进行编译(PushSourceDesktop),c++,com,directshow,C++,Com,Directshow,因此,我试图用我的另一个项目编译PushSourceDesktop示例,这样我就可以使用“new”关键字直接生成对象,而无需加载外部dll。我已将所有文件包括在项目中,并将预编译头添加到.cpp文件中。这些错误,即使在谷歌和其他各种搜索的帮助下,我也无法真正弄清楚。希望这里有人能给我们一些启示,提前谢谢 Error 4 error C2065: 'm_pString' : undeclared identifier c:\program files\microsoft sdks\w

因此,我试图用我的另一个项目编译PushSourceDesktop示例,这样我就可以使用“new”关键字直接生成对象,而无需加载外部dll。我已将所有文件包括在项目中,并将预编译头添加到.cpp文件中。这些错误,即使在谷歌和其他各种搜索的帮助下,我也无法真正弄清楚。希望这里有人能给我们一些启示,提前谢谢

Error   4   error C2065: 'm_pString' : undeclared identifier    c:\program files\microsoft sdks\windows\v7.1\samples\multimedia\directshow\baseclasses\wxdebug.h    292 1   record3
Error   5   error C2065: 'm_pString' : undeclared identifier    c:\program files\microsoft sdks\windows\v7.1\samples\multimedia\directshow\baseclasses\wxdebug.h    316 1   record3
Error   1   error C2146: syntax error : missing ';' before identifier 'm_pString'   c:\program files\microsoft sdks\windows\v7.1\samples\multimedia\directshow\baseclasses\wxdebug.h    295 1   record3
Error   2   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files\microsoft sdks\windows\v7.1\samples\multimedia\directshow\baseclasses\wxdebug.h    295 1   record3
Error   3   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files\microsoft sdks\windows\v7.1\samples\multimedia\directshow\baseclasses\wxdebug.h    295 1   record3
    8   IntelliSense: identifier "PTCHAR" is undefined  c:\program files\microsoft sdks\windows\v7.1\samples\multimedia\directshow\baseclasses\wxdebug.h    295 5

问题与SDK头的包含顺序有关。您可能需要在代码顶部添加
#include
,因为编译器无法找到
PTCHAR

因为DirectShow Base Classes是非常特定的类基类,所以我建议您不要将它与您所拥有的其他C++代码混合(例如ATL、WTL或MFC)。这是可能的,但这可能会不断引发类似于您问题中的问题


相反,您可以将过滤器保存在单独的DLL中,您可以通过
CoCreateInstance
或私下通过来实例化它,并与之通信。

问题与SDK头的包含顺序有关。您可能需要在代码顶部添加
#include
,因为编译器无法找到
PTCHAR

因为DirectShow Base Classes是非常特定的类基类,所以我建议您不要将它与您所拥有的其他C++代码混合(例如ATL、WTL或MFC)。这是可能的,但这可能会不断引发类似于您问题中的问题

相反,您可以将过滤器保存在单独的DLL中,您可以通过
CoCreateInstance
或私下通过来实例化它,并与之通信