12-24-2014, 07:54 AM
(12-22-2014, 07:35 PM)garrett Wrote:(12-22-2014, 06:56 PM)huangyang Wrote: If I compile against Illustrator SDK and CORE, will it still work on different AI version on cross-platforms? Thanks.
Yes, but it depends on which Illustrator SDK versions you choose to use.
At this time, CORE itself works with Illustrator 13 through 18. If you wanted to use CORE alone, your plugin would work in all of these versions of Illustrator.
If you wanted your plugin to work in all of these versions of Illustrator and use the official SDK too, you would need to compile against all six versions of the SDK. This means you would need a separate build target for each version of Illustrator (which is already the case with CORE alone) and each of these targets would compile against the appropriate version of the official SDK. Your target for Illustrator 18 compiles and links against CORE for AI18 and the SDK for AI18, the next target for Illustrator 17 uses CORE for AI17 and the SDK for AI17, etc.
The official SDK is the same on both platforms, so cross-platform compatibility is maintained.
You might find minor function signature differences between each version of the SDK, or that some suite versions have changed and others haven't, or that some features are missing entirely in one version but not in another, etc. A main design goal of CORE is to abstract away these problems for developers, and obviously you will not have that luxury when using the SDK directly.
How about, I build a plugin based on CS5 SDK, the functions used remain unchanged in CS6 and CC2014. Do I still need to have 3 separated build versions? The function I will properly use is AIIMageOptSuite, I believe this is just a common function set. Thanks.