none
Base classes compile problem with Vista SDK

    Question

  • Hi,

    I just upgraded my development machine to Vista and i am trying to compile the DirectShow base classes using Visual Studio 2005 SP1 + Vista beta patch.

    I have the DirectX 9.0 SDK and the Vista Windows SDK installed (as well as the Platform server 2003 SDK).

    Im using the baseclasses.sln file, and to make sure im not using any old headers i have removed all include/source, entries under Tools->Options->VC++ Directories . For the base classes project my additional include directories are:
    C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\INCLUDE
    C:\Program Files\Microsoft SDKs\Windows\v6.0\include
    C:\Program Files\Microsoft DirectX SDK\Include

    When i try to build the project i get the following error (followed by alot of other errors of course :) :
    Error 1 error C2061: syntax error : identifier 'CAMSchedule' c:\program files\microsoft sdks\windows\v6.0\samples\multimedia\directshow\baseclasses\refclock.h 80

    All the errors are in refclock.h / cpp and seem to be related to not recognizing CAMSchedule even though its defined in Schedule.h which is included by refclock.h.

    I realize this is probably some stupid mistake on my part, but thought perhaps someone would be kind enough to help me out :)

    Friday, February 9, 2007 7:31 PM

Answers

  • I ran into this too. I found that you need to have the baseclasses directory (samples/multimedia/directshow) *before* the sdk include directory, since they both have a schedule.h file and refclock.h uses <> not " for the include. I was slightly surprised to see that no-one else had mentioned this.

    G

     

    Monday, February 12, 2007 2:56 PM

All replies

  • I ran into this too. I found that you need to have the baseclasses directory (samples/multimedia/directshow) *before* the sdk include directory, since they both have a schedule.h file and refclock.h uses <> not " for the include. I was slightly surprised to see that no-one else had mentioned this.

    G

     

    Monday, February 12, 2007 2:56 PM
  • Thanks, that solved the problem. Id never have figured that out myself.
    Monday, February 12, 2007 3:08 PM
  • Geraint, thank you so much for the tip!  I had the same problem.

     

    Sunday, June 10, 2007 10:57 PM
  • Same problem, reinstall of system then.... Smile

     

    tx for the solution !

     

    Tuesday, March 11, 2008 1:24 PM
  • Cheers for this, fixed this error message and never would've solved this on own!

    Tom
    Monday, May 5, 2008 1:45 PM
  • This solution is simply brilliant. Thank you.
    Friday, August 1, 2008 3:06 PM
  • Thank you
    Sunday, December 6, 2009 5:59 PM
  • Dear Geriant. They say the lifespan of a software is 3 months, but it seems the compile problem lifespan is 3 years! Now, 3 years after your post, your answer solved my problem and saved me god knows how many hours. Thanx!
    Thursday, March 18, 2010 7:40 AM
  • I  had the Similar problem and I  added the folder as you  specified (samples/multimedia/directshow) , then I got the following  error .

     

    Linking... LINK : fatal error LNK1104: cannot open file 'C:\Program.obj'

     

    I double checked for the quotation mark and semicolons but they are all fine .

     

    I am using visual studio 2008.

    Which version of directX were you using ? Is it Dependant on the version of Directshow ?  

    Could you please help me

     

     

    Tuesday, June 8, 2010 8:28 AM
  • Linking... LINK : fatal error LNK1104: cannot open file 'C:\Program.obj'

    Still I'd be surprised if the problem is other than missing quotation mark in "C:\Program Files\..." path. By the way, if you have a suspicion that something is not capable to accept a path with embedded space, you can use equivalent short path C:\Progra~1 (use dir /x to find it out).

    http://alax.info/blog/tag/directshow
    Tuesday, June 8, 2010 9:19 AM
  • Just ran into it here. Guess you were unlucky enough to be the first one :)
    Friday, July 30, 2010 9:00 PM
  • It is now 2012, and just ran onto the same problem. Can't thank you enough. Just created an account to do so.

    Cheers,

    Monday, June 25, 2012 3:02 AM