XMP-Toolkit-SDK 编译与示例步调

[复制链接]
发表于 2025-9-17 14:09:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、前言

近来在调研图片的元数据读写方案,必要了解 XMP 空间以及如安在 XMP 空间中读写元数据,本文做一个相干内容的记载。
XMP-Toolkit-SDK 以及 XMP尺度简介

XMP-Toolkit-SDK 是 Adobe 提供的一套开源软件开辟工具包(SDK),用于创建、读取、修改、序列化和操纵 XMP(eXtensible Metadata Platform)元数据。XMP 是一种尺度,用于在多种文件格式(如 JPEG、TIFF、PDF、RAW 图像等)中嵌入描述性元数据,比如作者名、版权信息、GPS 坐标、拍摄设置等。
紧张用途:


  • 剖析和天生 XMP 元数据:方便地从支持 XMP 的文件中读取或写入元数据。
  • 元数据管理:集成到各种工作流中(如数字资产管理、图片管理系统)。
  • 跨平台支持:SDK 支持多平台,包括 Windows、macOS 和 Linux。
二、编译

本章先容如安在不同平台下编译 XMP-Toolkit-SDK
2.1 准备工作

起首必要下载 XMP-Toolkit-SDK 源代码,直接 git clone 即可
  1. git clone [email protected]:adobe/XMP-Toolkit-SDK.git
复制代码
然后将三方库的编译文件准备好,必要用到的三方库包括 expat 和 zlib。
起首是 expat,步调如下:

  • 到 http://sourceforge.net/projects/expat/files/expat/2.5.0/ 大概在 libexpat-github 下载源码
  • 接着将 lib 文件下整个拷贝至 XMP-Toolkit-SDK/third-party/expat 下即可,目次树如下:
  1. .
  2. ├── expat
  3. │   ├── ReadMe.txt
  4. │   └── lib
复制代码
接着是 zlib,步调如下:

  • zlib 主页中有源码下载链接 https://www.zlib.net/zlib-1.3.1.tar.gz,下载它,解压它
  • 将全部 .h 和 .c 拷贝至 XMP-Toolkit-SDK/third-party/zlib 即可
  1. cp *.c /pathto/XMP-Toolkit-SDK/third-party/zlib
  2. cp *.h /pathto/XMP-Toolkit-SDK/third-party/zlib
复制代码
2.2 不同平台编译

这部门在 XMPAddendumProgrammersGuide.pdf 57 页有很具体的描述。我实际编译下来发现有些平台按照文档编译会出现错误,这边也记载下我是怎样修改的。
2.2.1 Mac 平台

运行 GenerateXMPToolkitSDK_mac.sh,输入选项天生不同目的的 xcode 工程
  1. bash GenerateXMPToolkitSDK_mac.sh
  2. GenerateXMPToolkitSDK_mac.sh: line 13: cd: GenerateXMPToolkitSDK_mac.sh: Not a directory
  3. 1. Clean All
  4. 2. Generate XMPToolkitSDK Dynamic 64
  5. 3. Generate XMPToolkitSDK Static  64
  6. 4. Generate XMPToolkitSDK Static iOS
  7. 5. Generate XMPToolkitSDK Dynamic iOS
  8. 6. Generate All
  9. Enter your choice:
复制代码
利用 xcode 打开工程文件,编译即可。注意,假如提示编译 sdk 找不到,可以在 XMP-Toolkit-SDK/build/shared/ToolchainLLVM.cmake 修改 XMP_OSX_SDK 为本机 sdk 版本。
2.2.2 Android 平台

Android 平台编译按照文档来做发现编译失败,背面对编译脚本稍作修改后运行成功。起首修改 GenerateAndBuildXMPToolkitSDK_android.sh 做如下修改:

  • 54 行,Android Gradle - Ninja 修改为 Ninja
  • 71 行,TOOLCHAIN 修改为 TOOLCHAIN="${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake"
  • 72 行,cmake_ndkpath 修改为 cmake_ndkpath=${ANDROID_NDK_HOME}
接着,添加软毗连到 tools/android 目次下
  1. cd XMP-Toolkit-SDK/tools/android
  2. ln -s ~/Library/Android/sdk/cmake/3.22.1/bin/cmake
  3. ln -s ~/Library/Android/sdk/cmake/3.22.1/bin/ninja
复制代码
末了,设置 ANDROID_NDK_HOME 后运行脚本 GenerateAndBuildXMPToolkitSDK_android.sh 即可
  1. export ANDROID_NDK_HOME=/Users/user/Library/Android/sdk/ndk/21.1.6352462
  2. bash GenerateAndBuildXMPToolkitSDK_android.sh
复制代码
三、编译示例步调

XMP-Toolkit-SDK 中提供了多个示例步调,编译它们也很简单,以 mac 平台为例,运行 XMP-Toolkit-SDK/samples/build/GenerateSamples_mac.sh 即可。注意,必要修改脚本中一些变量,以便编译成功。修改如下:

  • 15 行,CMAKE 变量修改为你本机的 cmake 路径
  • 121 行,TOOLCHAIN 变量修改为 XMP-Toolkit-SDK/build/shared/ToolchainLLVM.cmake 即可
运行脚本竣事后,在同目次的会天生 xcode 目次,里头有工程文件,打开即可。
参考


  • https://github.com/adobe/XMP-Toolkit-SDK
  • XMPAddendumProgrammersGuide.pdf
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表