I think I'm having the same problem as Peder. I'm porting a large
project from CW 9 to CW 10, which includes plug-ins for InDesign 2.x,
CS (1), and CS 2, as well as plug-ins for Acrobat and QuarkXPress, and
some other executables. I've got everything building in CW 10
(including the plug-ins for the earlier ID versions) except for the
InDesign CS 2 plug-in, and I'm really close, but I'm getting this one
error:
Link Error : undefined:
'InterfaceFactory::InterfaceFactory(IDType<ImplementationID_tag>,
void*(*)IDType<ImplementationID_tag>, IPMUnknown*),
void(*)(IDType<ImplementationID_tag>), long(*)(), void*)(IPMUnknown,
IPMStream*, IDType<ImplementationID_tag>, long), void(IPMUnknown, I'
(code)
Referenced from '__sinit_/<multiple files>_cpp' in <multiple files>.cpp
It seems that there's something different about the way CW 10 is
compiling the template that's not matching up with Adobe's libraries
compiled under CW 9.
>From the Adobe end, I'm trying to get an updated library, or at least
instructions on what to do to recompile this one function. But I'm
hoping for some help from Metrowerks/Freescale or this group.
Is there any kind of compatibilty mode to compile the function with the
CW 9 signature in CW 10 so that I can link to the existing library?
Can I use one of the CW tools to figure out what to change in the
template declaration to get it to link? Any other ideas? I really need
to get this building in CW 10, because all our other projects are
already there.
Thanks,
Dan
Dan Korn - 16 Dec 2005 01:26 GMT
I figured it out. The solution seems so simple in hindsight: Include
InterfaceFactory.cpp in my project. It's in the
source/public/objectmodel folder in the InDesign CS2 SDK.
Dan