【问题标题】:Is it possible to specify dependencies for dependencies in dub?是否可以在dub中为依赖项指定依赖项?
【发布时间】:2016-05-20 19:14:18
【问题描述】:

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

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

// 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

据我所知,xcb 没有配置https://github.com/ParticlePeter/ErupteD/blob/master/dub.json

我现在只是做

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' 无法读取

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

【问题讨论】:

    标签: d dub


    【解决方案1】:

    没有办法为 dub repos 指定“依赖项的依赖项”,也没有必要这样做。

    因为你手动指定VK_USE_PLATFORM_XCB_KHR,所以Erupted包没有配置成依赖xcb-d项目,所以会编译失败。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-07
      • 2013-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多