我为 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++ 文件中,我会导入像 #import <libswscale/swscale.h>
这样的 FFmpeg 头文件。为了使它工作,我必须设置标题搜索路径。转换为 XCFramework 后应该怎么做?我试过@import FFmpeg
, #import <FFmpeg/libswscale/swscale.h>
, #import <FFmpeg/swscale.h>
以及 #import <libswscale/swscale.h>
.在每种情况下,我都会得到一个 file not found
import
上的错误线。
Apple 的所有示例都只是在 Swift 中展示了它,框架出售了一个模块。如果我仍然尝试设置 header 搜索路径,那么您现在每个体系结构都有不同的 header 。
最佳答案
试试 @import FFmpeg
并设置Enable Modules (C and Objective C)
至YES
从build设置。确保 Link Frameworks Automatically
设置为 YES
关于objective-c - 从 Objective-C 使用 FFmpeg XCFramework,找不到 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60729713/