是否可以在dub中指定依赖项的依赖项?

时间:2016-05-20 19:14:19

标签: d dub

我正在尝试使用https://github.com/ParticlePeter/ErupteD

问题是我需要一个隐藏在版本后面的特定于平台的功能。该版本本身使用一个名为xcb-d的模块,该模块不包含该库的dub配置文件。

// VK_KHR_xcb_surface
version(VK_USE_PLATFORM_XCB_KHR) {
    public import xcb.xcb;

    enum VK_KHR_XCB_SURFACE_SPEC_VERSION = 6;
    enum VK_KHR_XCB_SURFACE_EXTENSION_NAME = "VK_KHR_xcb_surface";

    alias VkXcbSurfaceCreateFlagsKHR = VkFlags;

    struct VkXcbSurfaceCreateInfoKHR {
        VkStructureType             sType = VkStructureType.VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
        const(void)*                pNext;
        VkXcbSurfaceCreateFlagsKHR  flags;
        xcb_connection_t*           connection;
        xcb_window_t                window;
    }
}

https://github.com/ParticlePeter/ErupteD/blob/master/source/erupted/types.d#L3333

据我所见{x 3}}

,没有配置xcb

我目前正在做

dependency "erupted" version="~>1.1.1"
subConfiguration "erupted" "with-derelict-loader"
versions "VK_USE_PLATFORM_XCB_KHR"
  

source / erupted / types.d(3335,16):错误:模块xcb在文件中   ' XCB / xcb.d'无法阅读

是否可以为依赖项指定依赖项?

1 个答案:

答案 0 :(得分:1)

无法为依赖关系指定"依赖关系"对于配音回购,也不应该这样做。

因为您手动指定VK_USE_PLATFORM_XCB_KHR,所以Erupted包未配置为依赖于xcb-d项目,因此无法编译。

但是,确实存在dub-platform-xcb-derelict-loader配置,其中包括废弃加载程序和XCB平台功能,这似乎是您想要的。使用该配置并删除版本。