我以XCFramework的形式为苹果的平台构建了FFmpeg。我使用https://github.com/kewlbear/FFmpeg-iOS-build-script/pull/147中的脚本来完成此操作。
我现在正试图在一个传统的iOS/macOS框架(名为VideoEditing)中使用这个框架,然后在我的iOS应用程序中使用它(很快就会尝试成为催化剂)。
在VideoEditing中,我链接了FFmpeg.xcframework,然后在使用VideoEditing的应用程序中,我链接了& embedded FFmpeg.xcframework。之前,我将FFmpeg构建为一个标准的静态库,并在Objective-C++包装器中从VideoEditing内部使用它,这样我就可以从Swift使用它了。
在Objective-C++文件中,我要导入像#import <libswscale/swscale.h>这样FFmpeg头文件才能正常工作,我必须设置头文件搜索路径。一旦你转换到XCFramework,你应该怎么做呢?我试过@import FFmpeg、#import <FFmpeg/libswscale/swscale.h>、#import <FFmpeg/swscale.h>和#import <libswscale/swscale.h>。在每种情况下,我都会在import行上得到一个file not found错误。
苹果的所有例子都在Swift中展示了这一点,框架出售了一个模块。如果我尝试仍然设置头搜索路径,那么现在每个体系结构都有不同的头。

发布于 2020-04-26 20:42:50
尝试@import FFmpeg,并从构建设置中将Enable Modules (C and Objective C)设置为YES。确保将Link Frameworks Automatically设置为YES
发布于 2020-11-19 21:14:46
您需要将头文件放在与xcframework并行的位置,并设置该头文件的头搜索路径。xcframework就像一个单独的.a文件,Xcode不会在xcframework中搜索头部。
https://stackoverflow.com/questions/60729713
复制相似问题