Compiling the FilTertleOverlay example in DirectShow Practices in VS.NET 2003, and you encounter the following questions:
1.
C: / Program Files / Microsoft Visual Studio .NET 2003 / VC7 / ATLMFC / INCLUDE / ATLCOMCLI.H (799): Error C2059: Syntax error: "catch"
C: / Program Files / Microsoft Visual Studio .NET 2003 / VC7 / ATLMFC / INCLUDE / ATLCOMCLI.H (799): Error C2143: Syntax error: lack ";" (in "{" front)
Solution:
"Code Generation" in "C / C " under C / C is "No" under C / C "in the property page.
the reason:
see
Http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnasp/html/comp.asp Exceptions section under Exceptions Section
2.
FilterTitleOverlay error LNK2001: External symbol "long __stdcall atl :: atlwinmoduleinit (Struct ATL:: _ ATL_WIN_MODULE70 *)"
? Atlwinmoduleinit @ ATL @@ ygjpau_atl_win_module70 @ 1 @@ z)
FilterTitleOverlay error LNK2001: Unable to resolve external symbol "Class atl :: Catlbasemodule atl :: _ atlbasemodule"
? _ATLBASEModule @ ATL @@ 3vcatlbasemodule @ 1 @ a)
Solution:
Include
ATLS.LIB (for release builds) or
Atlsd.lib (for Debug Builds) in Your Linker Dependencies.
From
Http://blogs.msdn.com/mikewasson/archive/2005/05/14/417513.aspx
3.
The report is reported to WSPRINTFWInternal in the SimplePlayer routine.
Solution:
Remove the comments of the DirectShow's BaseClass (the same case of the LSTRCPYWINTERNAL function), re-compiling the link.
I don't know if it is because of the reason, Microsoft shields these two functions, so it is not recommended to use these two functions in the later program, I just reopened these two functions for learning, just this.