_IID_IAAFComponent2 link error

f_bar
2006-05-30
2013-04-29
  • f_bar
    f_bar
    2006-05-30

    Hello.
    I'm actually trying to queryInterface() on an object, in order to retrieve its IAAFComponent2 capabilities. While compilation is okay, linking fails ( unresolved external link _IID_IAAFComponent2 )
    I've been looking in libs for references to that in all files of the sdk, to no avail.
    After getting that error, i tried compiling the sdk in order to be sure of the domain of the error (I? compiler? sdk?), but files are missing (see other thread)
    Did i miss something obvious there too?
    Thanks

     
    • John Emmas
      John Emmas
      2006-05-30

      Strange... there's something slightly unusual here inasmuch as those constants (IID_IAAFComponent2 etc) are defined in a C source file that gets included as #include "AAF_i.c" (in other words, not #include "AAF_i.h", as you might expect). However, it should still work.

      If you're compiling with Visual C++, open the project's File View and look at the branch called "comapi files". You'll see that it's dependent upon the "Impl" branch - then immediately underneath, you'll see a source file called "AAFCOM.cpp". This file should be #including AAF_i.c which, in turn, should contain IID_IAAFComponent2.

       
      • f_bar
        f_bar
        2006-05-30

        Thanks a bunch.

        Including that .c (yerk...) file was enough to make the link succeed.

         
    • Tim Bingham
      Tim Bingham
      2006-05-30

      "Yerk" indeed. While #including AAF_i.c may make the problem go away, it's a guarantee of different problems in the future. Your application should resolve references to _IID_AAF* symbols by linking to the AAFIID.LIB static library. The file AAF_i.c is an implementation file private to the SDK and shoul not be included by your application.

      Without more details I can't tell you what the correct solution is. It may be as simple as rebuilding the MakeSDK target - one way that this problem might arise would be using an AAF.h and an AAFIID.LIB that aren't in sync with each other.

      Tim.

       
      • f_bar
        f_bar
        2006-06-19

        My project already links to that lib, which is even more perturbing.
        Thanks for the tip, i'll try your suggestions as soon as i eject that ugly code of mine when i'll make a clean implementation of my program.