从 Objective-C 使用 FFmpeg XCFramework,未找到标头

jam*_*one 5 xcode ffmpeg objective-c linker-errors xcframework

我为 Apple 平台构建了 FFmpeg 作为 XCFramework。我使用https://github.com/kewlbear/FFmpeg-iOS-build-script/pull/147中的脚本来执行此操作。

我现在尝试在传统的 iOS/macOS 框架(名为 VideoEditing)中使用该框架,然后在我的 iOS 应用程序中使用该框架(很快将尝试成为 Catalyst)。

VideoEditing我链接到FFmpeg.xcframework然后在使用VideoEditing我链接和嵌入的应用程序中FFmpeg.xcframework。之前我将 FFmpeg 构建为标准静态库,并VideoEditing在 Objective-C++ 包装器内部使用它,这样我就可以从 Swift 中使用它。

在该 Objective-C++ 文件中,我将导入 FFmpeg 标头,例如#import <libswscale/swscale.h>为了使其工作,我必须设置标头搜索路径。转换到 XCFramework 后该怎么做?我已经尝试过了@import FFmpeg#import <FFmpeg/libswscale/swscale.h>以及#import <FFmpeg/swscale.h>#import <libswscale/swscale.h>在每种情况下我都会收到一个file not found错误import

Apple 的所有示例都仅在 Swift 中通过框架提供模块来展示它。如果我尝试仍然设置标头搜索路径,那么现在每个架构都有不同的标头。

XCFramework内容概述

小智 0

尝试@import FFmpeg并设置Enable Modules (C and Objective C)YES来自构建设置。确保已Link Frameworks Automatically设置为YES