问题标签 [dub]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
144 浏览

d - In DUB, how do I conditionally compile code based on optional dependencies?

If I have a DUB-based project with an optional dependency, how to I make it so that some code (be it modules or a version(...){...} block) only gets compiled if the dependency is chosen? Is there a way I can make a version identifier defined based on whether the dependency is present or absent?

I have already read about the "optional" and "default" attributes of the "dependency" tag as documented here. This allows me to define a dependency as optional, but it lacks teeth if I can't version my code to reflect the dependencies chosen.

0 投票
1 回答
84 浏览

d - 在配音中,如何将自定义优化级别设置为仅某些文件?

我有一些文件是几兆字节的生成代码。我想只编译优化级别 0 的文件,以及优化级别 3 的所有其他文件。我将如何在 dub 中指定它?

如果生成的代码文件在 -O3 编译,它们永远不会完成编译。

0 投票
1 回答
96 浏览

d - 在 ddoc 中生成符号列表(带配音)

我有一个相当大的单个文档页面,我想生成一个符号列表(Jump to:在 phobos 文档上,请参阅std.compiler),dub --build=ddoc因为默认情况下它不存在(当前文档页面

出于显而易见的原因,我不想在代码中包含所有带有链接的符号列表。

我知道使用 ddox 或 javascript 可以做到这一点,但是有没有办法只使用 vanilla ddoc 来做到这一点,因此可以将维护工作保持在最低限度?谢谢

编辑:我想为全局符号和类成员生成一个列表,并将表格放在类附近。

0 投票
1 回答
88 浏览

git - 将 DUB 包与现有代码一起使用

我想使用别人编写的 DUB 包库和我自己的一些现有 d 源代码。我现有的源一直在使用 Git,并且没有使用 DUB。

在合并 DUB 包后,我想继续使用相同的 Git 存储库。

我在 dub.json 中尝试了各种设置,但似乎没有一个适用于这种情况。我不想做一个配音初始化,然后手动复制所有内容并链接回我的 Git 存储库。

我最好的选择是什么?

0 投票
2 回答
52 浏览

windows - 在 Windows 包 tinyredis-2.1.1 上构建语言 D 错误:未定义标识符 `EWOULDBLOCK` dmd 失败,退出代码为 1

我正在尝试在我的 Windows 机器上构建一个 D 项目。它适用于mac,但在Windows中构建时出现以下错误,我在项目中使用命令“dub”并在某个时候得到它:

任何想法为什么这个 EWOULDBLOCK 变量在 Windows 上无法识别?

这是出现此标识符的 connection.d 部分:

0 投票
0 回答
247 浏览

d - 如何从同一个配音文件链接静态库

我有一个dub.json看起来像的文件:

当我用我构建时,dub --config=myExe我得到以下链接器错误:cannot find -l/home/myUser/myProject/build/myLib.a即使库在那里。

如何链接在同一个配音文件中生成的静态库?我认为这是一个很常见的情况(库 + 测试/示例可执行文件),但我找不到任何示例。

0 投票
1 回答
99 浏览

c - 将 D 项目编译为库 - 依赖项会发生什么?

好的,这是我的问题:

我有一个工作的 DUB 项目,它产生一个应用程序。我决定在我的dub.json文件中还需要一个“库”配置:

因此,现在当我使用 构建项目时dub build --config=library,它会libXXXX.a在同一目录中生成一个文件。

到目前为止,一切都很好。

我尝试使用这个库(实际上是一个标记为extern "C"来自测试 C 应用程序的小测试函数)。

因此,我使用编译我的 C 应用程序gcc -c ctest.c,然后将它们链接在一起,如dmd libMYLIBRARY.a ctest.o.

现在,问题来了:

在最后一步中,链接器抱怨缺少许多符号- 所有符号都来自外部依赖项(2 个目标文件和几个.a库),这些符号通常在将项目构建为应用程序时链接。

所以,问题是......我该如何解决这个问题?

我的意思是...我是否应该将我的测试 C 应用程序与所有原始依赖项链接起来(诚然,这不会使库非常便携),或者有什么办法可以解决它,以便任何人都可以使用我的库,只有通过链接反对我的libXXXXX.a档案?

0 投票
1 回答
36 浏览

dub - 如何强制 dub 安装更新版本的软件包?

我一直在尝试使用dub run较新的版本,但它不起作用,它只是重建旧版本。

dub cache-clean也不能解决问题。

0 投票
2 回答
102 浏览

d - 如何使用 dub 从本地文件系统导入包?

我有一个使用配音的项目。我想使用供应到我的项目中的外部文件作为依赖项。我该怎么做呢?我不想把它放在我的项目source/目录中。我不想将它添加为配音托管依赖项,但我确实希望能够将import xxx.

包是这个:https ://github.com/gianm/d-json ,它没有使用dub,也没有dub.json项目文件。

0 投票
2 回答
97 浏览

directory - 为什么配音看不​​到源文件夹?

我想用 dub 运行我的第一个项目。我用 ' 初始化项目dub init sandbox,然后用dub run. 但配音是这么说的:
Configuration 'application' of package sandbox contains no source files. Please add {"targetType": "none"} to its package description to avoid building it. Package with target type "none" must have dependencies to build.

我不明白,为什么会发生这种情况,因为我的项目中有源文件夹。这是一个项目树:

  • 沙盒
    • 来源
      • 应用程序.d
    • 配音.json

还有 dub.json 文件:

编辑:这是一个完整的输出