Я получаю следующую ошибку для локальной зависимости пакета Swift при попытке использовать ее в рамках проекта iOS в XCode: < /p>
Код: Выделить всё
The package product 'DlibWrapper' cannot be used as a dependency of this target because it uses unsafe build flags.(я использую небезопасные флаги для указания местоположения статической библиотеки)
Я также попытался импортировать пакет в качестве удаленной зависимости на основе филиала, но в любом случае он не удас. с Swift 5.2.4 (XCode 11.6) и 5.3 (XCODE 12 Beta 3). < /p>
Любые подсказки, какова может быть проблема? Из -за платформы я не могу использовать .systemlibrary Target для связи Dlib . Таким образом, я предварительно считывал его в статической либерации и упакован вместе с кодом обертки, как SO: < /p>
Код: Выделить всё
DlibWrapper/
Libraries/
dlib/
include/
...
lib/
arm64/
libdlib.a
Sources/
CWrapper/
include/
module.modulemap
cwrapper.h
cwrapper.cpp
SwiftWrapper/
SwiftWrapper.swift
Package.swift
Код: Выделить всё
// swift-tools-version:5.3
import PackageDescription
let package = Package(
name: "DlibWrapper",
platforms: [
.iOS(.v13)
],
products: [
.library(
name: "DlibWrapper",
targets: ["CWrapper", "SwiftWrapper"])
],
dependencies: [],
targets: [
.target(
name: "SwiftWrapper",
dependencies: ["CWrapper"]
),
.target(
name: "CWrapper",
cxxSettings: [.headerSearchPath("../../Libraries/dlib/include")],
linkerSettings: [
.linkedLibrary("dlib"),
.linkedFramework("Accelerate", .when(platforms: [.iOS])),
// The error is caused by this line
.unsafeFlags(["-LLibraries/dlib/lib/arm64"], .when(platforms: [.iOS])),
]
),
],
cxxLanguageStandard: .cxx1z
)
>
Подробнее здесь: https://stackoverflow.com/questions/630 ... rity-error
Мобильная версия