问题标签 [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.
d - 如何在 DUB 项目中定义包的版本
我知道如何使用 dub.json 文件中的依赖项列表为 D/DUB 项目中的导入包指定版本要求。
但是:我如何首先在 dub.json 文件中定义一个包的版本?
d - 使用 DUB 管理 C 依赖项
我正在测试配音,我想安装 derelcitsdl2
但是当我运行它时它会立即引发运行时错误。它告诉我它找不到 *.so 文件。
当我构建一个跨平台项目时,我不想依赖这样的全局系统包,这很可能是 Windows 上的一个问题。
是否可以使用 DUB 运行构建脚本?
看起来像这样的东西
我在 DUB 网站上没有找到告诉我这很可能是不可能的信息。
您如何为不同的平台构建项目?
我需要为此编写 .sh / .bat 脚本吗?我将如何指定本地搜索路径?
dll - 是否可以在一个 exe 中静态链接所有库?
现在我在 D 中的项目有很多不同的库。是否可以静态链接它们并制作单个exe(大小不是问题)。
我应该将哪个命令传递给 DMD,或者有什么方法可以在 DUB 配置中指定它?
windows - 如何在 D 应用程序中添加图标?
我想在我的应用程序的 exe 文件中添加图标?我该怎么做。我希望在我使用 dub 构建我的应用程序时自动添加它。
d - DUB: How to specify version of git repo?
I use DUB, and want to include ncurses to project https://github.com/D-Programming-Deimos/ncurses/
it have not explicitly version specification on github page. But during build DUB ask me to specify version explicitly:
WARNING: A deprecated branch based version specification is used for the dependency ncurses. Please use numbered versions instead.
How I can do it?
c++ - D:如何使用 D 绑定到 C++ 库?
我发现非常需要绑定到名为 GDAL 的库。 https://github.com/craig-dillabaugh/gdal
没有使用示例的问题。在我从未使用过任何绑定之前。
dub.json 包含下一个字符串:
"libs" : ["gdal"]
因此,它似乎需要具有此名称的 lib 文件。
在旧的提交中,我发现了没有配音的编译示例:dmd test_gdal_d.d gdal.d -L-ldgal
原始 gdal 发行版不包含具有此类名称的 lib。只有gdal111.dll
lib。所以我将它转换implib
为gdal111.lib
. 有命令implib /s gdal111.lib gdal111.dll
从 11MB 的 lib 变成 1MB 的大小。
使用 Dependency Walker,我查看了符号表。它的符号就像GDALGetRasterXSize
我正在尝试使用下一个命令构建所有符号:
dmd D:\code\binding\gdal-master\gdal-master\source\App.d D:\code\binding\gdal-master\gdal-master\source\gdal.d -L -Igdal111.lib
但我收到下一个错误:
D:\code\binding\gdal-master\gdal-master>dmd D:\code\binding\gdal-master\gdal-master\source\App.d D:\code\binding\gdal-master\gdal-master\source\gdal.d -L -Igdal111.lib
OPTLINK (R) for Win32 Release 8.00.17
Copyright (C) Digital Mars 1989-2013 All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
App.obj(App)
Error 42: Symbol Undefined _GDALClose
App.obj(App)
Error 42: Symbol Undefined _GDALGetRasterCount
App.obj(App)
Error 42: Symbol Undefined _GDALGetRasterXSize
App.obj(App)
Error 42: Symbol Undefined _GDALGetRasterYSize
App.obj(App)
Error 42: Symbol Undefined _GDALOpen
App.obj(App)
Error 42: Symbol Undefined _GDALAllRegister
App.obj(App)
Error 42: Symbol Undefined _GDALIdentifyDriver
App.obj(App)
Error 42: Symbol Undefined _GDALCreate
--- errorlevel 8
我把所有东西都存档在这里http://dlang.ru/gdal-d-binding.zip
UPD:我运行了 GDAL !!!
我的要点是添加字符串:
pragma( lib, "libgdal.lib" );
例如,它已经运行了。很快我希望将一些代码推送到 github。
d - gumbo-d 与 DUB 的绑定
我正在尝试在项目中使用gumbo-d,但是配音失败了。
这是配音输出:
我有点不知道库文件需要去哪里以及它需要采用什么格式。gumbo-d 依赖目录中有一个 .lib 文件,这意味着是库吗?如果是这样,为什么链接器无法链接到它?
这是我的主要 dub.json 文件的内容(对于包含 gumbo-d 依赖项的整个项目)
这是 gumbo-d 依赖项的 dub.json 文件:
static-libraries - 从D中的C静态库导入函数?
我已经将静态库转换为 OMF 格式,但仍然有如下消息:
在程序中,我有使用我已经使用过的方法的导入函数。它与另一个库一起为我工作。
库存在并且真正包含这些功能。我通过 coffimlib.exe 生成导出/导入列表对其进行了检查。
有任何想法吗?
documentation - 使用 dub 构建文档
我将如何使用 dub 从我的源文件制作 DDocs?dub 中似乎没有默认命令来执行此操作,我真的很希望能够自动执行此过程。
monodevelop - 链接时 DMD 在磁盘上寻找随机文件
大约 20 分钟前,我尝试编译我的一个项目,它编译并链接到一个可执行文件中。我添加了三个D源文件,编辑了一些代码,并尝试重新编译。它失败了。这本身并没有什么特别之处。但是,构建输出是:
我正在使用 Mono-D。我尝试的任何其他项目似乎都能完美编译。我不知道为什么 Dub 在我的用户目录中查找源文件。我的 JSON 文件是 Dub 生成的标准票价,其中 Derelict-Util (v2.0.0)、Derelict-GL3 (v1.0.13) 和 Derelict-GLFW3 (v1.1.0) 作为依赖项。我花了一些时间在互联网上寻找解决方案,但可能错过了一些东西。如果我这样做了,请指出我正确的方向。谢谢!
[编辑] 详细编译器输出
[编辑]:我已经确定了问题。链接器似乎认为我正在构建一个库,而不是一个应用程序。我不知道我做了什么,但我不知道如何解决它。所以,我现在的问题是:如何改回来?谢谢。
[编辑]:没关系。将构建类型更改为什么executable
也不做。
[编辑]:我尝试使用配音 v0.9.22(来自 v0.9.23),它似乎链接正常。我不知道是怎么回事。