如何将单独Swift包中的C标题包含到另一个Swift包的C部分中
我正在编写一个多平台的游戏引擎,以在Swift中获得乐趣。Swift软件包的基本布局如下所示:如何将单独Swift包中的C标题包含到另一个Swift包的C部分中,swift,Swift,我正在编写一个多平台的游戏引擎,以在Swift中获得乐趣。Swift软件包的基本布局如下所示: NativeTypes:一些C结构,比如向量、矩阵等等 引擎:包装一些NativeTypes以使em可用,加上引擎:基本上除了依赖于平台的代码之外的所有内容 PlatformImplementation:包含一个Swift目标实现引擎中的各种特定于平台的协议,以及一个C目标实现特定于平台的东西,如Vulkan渲染器等 理想情况下,我需要将NativeTypes头导入平台实现的C部分,这样我就可以从那里
dependencies:[
.package(path: "./NativeCodePackage"),
.package(path: "./OtherPackage")
],
2。在另一个包中,只需导航到第一个包,即可导入所需的标题,如:
#define STR_IMPL(A) #A
#define STR(A) STR_IMPL(A)
#define NATIVEHEADERSDIR ../../../../../NativeCodePackage/Sources/NativeCodePackage/include
#include STR(NATIVEHEADERDIR/Maths/Vector.h)
3。最后,只需导入:
#define STR_IMPL(A) #A
#define STR(A) STR_IMPL(A)
#define NATIVEHEADERSDIR ../../../../../NativeCodePackage/Sources/NativeCodePackage/include
#include STR(NATIVEHEADERDIR/Maths/Vector.h)
如果您希望看到此解决方案的有效实施,请查看我实施此解决方案的Swift engine项目: