Skip to main content
Participant
September 19, 2018
Answered

XMP Toolkit SDK is not compatible with iOS12 due to apple deprecated libstdc++, could you please update SDK by libc++ ?

  • September 19, 2018
  • 1 reply
  • 1005 views

Dear Adobe,

XMP Toolkit SDK is not compatible with iOS12 due to apple deprecated libstdc++, could you please update SDK by libc++ ?

Do you have any plan for that? Looking forward your feedback.

Many thanks!

This topic has been closed for replies.
Correct answer yash721

Hi ,

In XMP-Toolkit-SDK-CC201607 follow below steps:

1. in build/, run "GenerateXMPToolkitSDK_mac.sh"

2. select option 4., create iOS Xcode project

3. Open Both XMPCoreStatic and XMPFileStatic and in Xcode choose "C++ standard Library: libc++"

If you face any Compiler issues in XMPCoreStatic,  please apply following changes on the line number of the mentioned file.

These issues might come while compiling XMPToolkit SDK because latest libc++ applies more strict type checking than stdc++.

1.

File : XMP-Toolkit-SDK-CC201607/XMPCommon/Interfaces/BaseInterfaces/IConfigurable_I.h

Line 26: typedef std::pair< const uint64, TypeValuePair > KeyValuePair;

Line 27: typedef std::pair< const uint64, eDataType > KeyValueTypePair;

2.

File: XMP-Toolkit-SDK-CC201607/XMPCore/ImplHeaders/DOMImplementationRegistryImpl.h

Line 38 : typedef std::map< spcIUTF8String, spcIDOMParser, IUTF8StringComparator, TAllocator< std::pair<const spcIUTF8String,spcIDOMParser> > > ParserMap;

Line 39 : typedef std::map< spcIUTF8String, spcIDOMSerializer, IUTF8StringComparator, TAllocator< std::pair<const spcIUTF8String, spcIDOMSerializer> > > SerializerMap;

3.

File : XMP-Toolkit-SDK-CC201607/XMPCore/ImplHeaders/NameSpacePrefixMapImpl.h

Line 43 : typedef std::map< spcIUTF8String, spcIUTF8String, IUTF8StringComparator, TAllocator< std::pair<const spcIUTF8StringspcIUTF8String> > > NameSpacePrefixMap;

4.

File : XMP-Toolkit-SDK-CC201607/XMPCore/ImplHeaders/StructureNodeImpl.h

Line 49 : typedef std::map< QualifiedName, spINode, CompareQualifiedName, TAllocator< std::pair< const QualifiedName ,spINode> > > QualifiedNameNodeMap;

Hope this helps.

Yash

1 reply

yash721Correct answer
Adobe Employee
March 14, 2019

Hi ,

In XMP-Toolkit-SDK-CC201607 follow below steps:

1. in build/, run "GenerateXMPToolkitSDK_mac.sh"

2. select option 4., create iOS Xcode project

3. Open Both XMPCoreStatic and XMPFileStatic and in Xcode choose "C++ standard Library: libc++"

If you face any Compiler issues in XMPCoreStatic,  please apply following changes on the line number of the mentioned file.

These issues might come while compiling XMPToolkit SDK because latest libc++ applies more strict type checking than stdc++.

1.

File : XMP-Toolkit-SDK-CC201607/XMPCommon/Interfaces/BaseInterfaces/IConfigurable_I.h

Line 26: typedef std::pair< const uint64, TypeValuePair > KeyValuePair;

Line 27: typedef std::pair< const uint64, eDataType > KeyValueTypePair;

2.

File: XMP-Toolkit-SDK-CC201607/XMPCore/ImplHeaders/DOMImplementationRegistryImpl.h

Line 38 : typedef std::map< spcIUTF8String, spcIDOMParser, IUTF8StringComparator, TAllocator< std::pair<const spcIUTF8String,spcIDOMParser> > > ParserMap;

Line 39 : typedef std::map< spcIUTF8String, spcIDOMSerializer, IUTF8StringComparator, TAllocator< std::pair<const spcIUTF8String, spcIDOMSerializer> > > SerializerMap;

3.

File : XMP-Toolkit-SDK-CC201607/XMPCore/ImplHeaders/NameSpacePrefixMapImpl.h

Line 43 : typedef std::map< spcIUTF8String, spcIUTF8String, IUTF8StringComparator, TAllocator< std::pair<const spcIUTF8StringspcIUTF8String> > > NameSpacePrefixMap;

4.

File : XMP-Toolkit-SDK-CC201607/XMPCore/ImplHeaders/StructureNodeImpl.h

Line 49 : typedef std::map< QualifiedName, spINode, CompareQualifiedName, TAllocator< std::pair< const QualifiedName ,spINode> > > QualifiedNameNodeMap;

Hope this helps.

Yash