Bazel 从依赖项构建 `ios_framework` 导出头文件

问题描述

我正在尝试构建一个 ios_framework。它使用 OpencvFramework。但我不知道如何从 Opencv 导出标头以重用它 我的BUILD文件

load("@build_bazel_rules_apple//apple:ios.bzl","ios_framework")

ios_framework(
    name = "IrisTracker",hdrs = [
        "IrisTracker.h",] + glob([
        "OpencvFramework/opencv2.framework/Versions/A/Headers/**/*.h*",]),infoplists = ["Info.plist"],bundle_id = "com.minhdv.IrisTracker",families = ["iphone","ipad"],minimum_os_version = "10.0",deps = [
        ":IrisTrackerLibrary","@ios_opencv//:OpencvFramework",],)

objc_library(
    name = "IrisTrackerLibrary",srcs = [
        "IrisTracker.mm",copts = ["-std=c++17"],data = [
        "//mediapipe/graphs/iris_tracking:iris_tracking_gpu.binarypb","//mediapipe/modules/face_detection:face_detection_short_range.tflite","//mediapipe/modules/face_landmark:face_landmark.tflite","//mediapipe/modules/iris_landmark:iris_landmark.tflite",visibility = ["//mediapipe:__subpackages__"],deps = [
        "//mediapipe/objc:mediapipe_framework_ios",] + select({
        "//mediapipe:ios_i386": [],"//mediapipe:ios_x86_64": [],"//conditions:default": [
            "//mediapipe/graphs/iris_tracking:iris_tracking_gpu_deps","//mediapipe/framework/formats:landmark_cc_proto",}),)

OpenCV 构建文件

# Description:
#   OpenCV libraries for video/image processing on iOS

licenses(["notice"])  # BSD license

exports_files(["LICENSE"])

load(
    "@build_bazel_rules_apple//apple:apple.bzl","apple_static_framework_import",)

apple_static_framework_import(
    name = "OpencvFramework",framework_imports = glob(["opencv2.framework/**"]),visibility = ["//visibility:public"],)

objc_library(
    name = "opencv_objc_lib",deps = [":OpencvFramework"],)

cc_library(
    name = "opencv",hdrs = glob([
        "opencv2.framework/Versions/A/Headers/**/*.h*",copts = [
        "-std=c++11","-x objective-c++",include_prefix = "opencv2",linkopts = [
        "-framework AssetsLibrary","-framework CoreFoundation","-framework CoreGraphics","-framework CoreMedia","-framework Accelerate","-framework CoreImage","-framework AVFoundation","-framework CoreVideo","-framework QuartzCore",strip_include_prefix = "opencv2.framework/Versions/A/Headers",deps = [":opencv_objc_lib"],)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)