objective-c - 从 Objective-C 使用 FFmpeg XCFramework,找不到 header

标签 objective-c xcode ffmpeg 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++ 文件中,我会导入像 #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 。

Overview of contents of XCFramework

最佳答案

试试 @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/

相关文章:

objective-c - 我的应用程序可以使用多少内存?或者什么是通常的?

iOS UIbutton奇怪的底部边缘

ios - Xcode Playground : "error: Execution was interrupted, reason: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)"

batch-file - 在FOR循环中设置变量并调用结果;批处理脚本窗口

video - 使用ffmpeg从mp4文件转换后如何获得具有透明背景填充的动画webp文件?

ios - 将 UIImageView 对齐到 UIScrollView 的底部

iphone - 设置没有委托(delegate)的 TableView

Xcode/GCC 链接问题 : file is not of required architecture

objective-c - isKindOfClass 没有按预期工作

ffmpeg - m3u8 hls 使用 ffmpeg 一步一步流到 wav