В моем манифесте у меня есть цель SP и цель systemLibrary:
targets: [
//...
.systemLibrary(
name: "Cmylib",
pkgConfig: "mylib",
providers: [.brew(["mylib"])]),
.target(
name: "MyLibrary",
dependencies: ["Cmylib"]),
//...
]
Моя иерархия источников выглядит следующим образом:
Sources/
Cmylib/
includes/
mylib.h
module.modulemap
MyLibrary/
File.swift
...
Пока это успешно выполняется выставить библиотеку C моему пакету Swift. Однако я хочу добавить некоторые из моих собственных вспомогательных методов в Cmylib.
Допустим, я хочу добавить файл method_wrappers.c
, который импортирует mylib в Cmylib.
Где в структуре файла делает method_wrappers. c go? И как мне сделать эти методы видимыми для MyLibrary?
Что я пробовал:
Sources/
Cmylib/
includes/
mylib.h
method_wrappers.c
method_wrappers.h
...
И Cmylib / включает в себя / mylib.h выглядит как
#include <mylib.h>
#include "../method_wrappers.h"
Однако методы, объявленные в method_wrappers.h, не видны.