Я пытаюсь создать оболочку вокруг библиотеки C для Swift, но когда я импортирую ее в свой проект Xcode, я получаю сообщение об ошибке, которое
Отсутствует необходимый модуль «Clibsodium»
Я не уверен, откуда он пытается получить это имя. Моя оболочка имеет это для Package.swift
// swift-tools-version:4.0
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "Sodium",
pkgConfig: "libsodium",
providers: [
.brew(["libsodium"]),
.apt(["libsodium-dev"])
]
)
И тогда мой module.modulemap выглядит так:
module Sodium [system] {
header "shim.h"
link "sodium"
export *
}
и shim.h просто включает правильный заголовок:
#ifndef CLIB_SWIFT_SODIUM
#define CLIB_SWIFT_SODIUM
#ifdef __APPLE__
#include "/usr/local/include/sodium.h"
#else
#include "/usr/include/sodium.h"
#endif
#endif
На моем Mac, если я запускаю pkg-config --libs libsodium
, он говорит следующее:
-L/usr/local/Подвал/libsodium/1.0.16/lib -lsodium