Выставить C файлы в пакет Swift? - PullRequest
0 голосов
/ 22 апреля 2020

В моем манифесте у меня есть цель 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, не видны.

...