-
Api 941 Latest Edition Of Adobe카테고리 없음 2020. 2. 20. 10:08
Mikayel The XMPsdk code that's inside Exiv2 is now a few years old. Andreas has accepted the task to bring that up to date in 2015.
At the moment, it is possible (just) to link Adobe's XMPsdk and Exiv2 into the same application. However, it's requires code changes to Exiv2 to get it to link. Andreas assures me that this is not a small task and he's accepted the challenge to revamp all of this. I don't know exactly what Andreas intends to do. I know he's busy with work, life and family. Perhaps it's a good idea to discuss it with him: I think you've discovered how to get new stuff added to Exiv2.
Api 941 Latest Edition
You volunteer! You'll find Andreas is very nice, very careful and very clever.
The XMPsdk that is in Exiv2 is in conflict with the public offering from Adobe. There are external variables which Adobe incorrectly call 'static'. Here's a private email I had with Terence Tay of Alien Skin Software about this when Alison and I were on vacation in Texas in February 2015. Terence There’s the issue: 677 rmills@rmillsmbp:/gnu/exiv2/trunk $ find.type f -exec grep -H sXMPInitCount $./xmpsdk/src/XMPCoreImpl.cpp:XMPInt32 sXMPInitCount = 0;./xmpsdk/src/XMPCoreImpl.hpp:extern XMPInt32 sXMPInitCount;./xmpsdk/src/XMPCoreImpl.hpp://!
Don't do the initialization check (sXMPInitCount 0) for the no-lock case. That macro is used./xmpsdk/src/XMPCoreImpl.hpp: XMPAssert ( sXMPInitCount 0 );./xmpsdk/src/XMPMeta.cpp: sXMPInitCount;./xmpsdk/src/XMPMeta.cpp: if ( sXMPInitCount 1 ) return true;./xmpsdk/src/XMPMeta.cpp: -sXMPInitCount;./xmpsdk/src/XMPMeta.cpp: if ( sXMPInitCount 0 ) return; 678 rmills@rmillsmbp:/gnu/exiv2/trunk $ That variable sXMPInitCount isn’t static. It’s extern and that why it’s visible in xmpsdk.lib Wrapping it (and his companions) in the Exiv2 namespace OR changing the name to sXMPInitCount will almost certainly fix it. Let me know how it goes. Alison and I are going off to explore Big Bend National Park.I know that Terence was able to use Exiv2 and the current version of Adobe XMPsdk in one application and I asked Terence to provide a patch.
He declined saying something like 'it was a hack and you don't what I did in your library'. I agree with Andreas, this should be re-engineered to use a 'vanilla' XMPsdk as has been done for expat, zlib and other libraries. By 'vanilla' I mean we don't modify anything in the external library, although we may have to provide MSVC and autotools build environments.