Swift Package зависимость от небезопасных флагов сборки: ошибка целевой целостностиIOS

Программируем под IOS
Ответить
Anonymous
 Swift Package зависимость от небезопасных флагов сборки: ошибка целевой целостности

Сообщение Anonymous »

tl; dr < /h3>
Я получаю следующую ошибку для локальной зависимости пакета 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
Упрощенное содержание Dlibwrapper/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
)
Я попытался использовать свойство Link внутри модуля.modulemap Но компилятор, похоже, игнорирует его. Кроме того, предоставление абсолютного пути к библиотеке в .linkedLibrary () в целевом манифесте не помогает, линкера жалуется, что не может найти библиотеку. (В качестве последней среды я бы, вероятно, упаковал все в рамках)
>

Подробнее здесь: https://stackoverflow.com/questions/630 ... rity-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»