`
sinpool
  • 浏览: 14544 次
  • 性别: Icon_minigender_1
  • 来自: /home
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用bud的简单方法

阅读更多
最近学习gtkD的编程,
用dmd进行编译时,
需要把所有的需要的lib文件都写到参数列表中才能成功编译,
否则就出现“符号未定义”的错误,
根据群组里的“betty_betty2008”的推荐,
我找了一下bud的使用方法,
根据下面这个资源,
http://www.iteye.com/wiki/dlang/872-Build编译工具学习笔记:常用命令参数和BRF文件
我找到了编译程序的方便途径。

官网URL:http://www.dsource.org/projects/build/

下面做一个记录,
以便日后查阅。

bud是编译D源程序的一个工具,
它可以根据代码中的import内容,
自动寻找obj或lib文件进行编译和链接,
所以,
省去了书写dmd命令进行编译时的各种依赖关系。



注:下面只是我自己的管理方式。

步骤一:
需要把所需要的lib文件统一都放到一个目录中,
引用
比如:
E:\dm_soft\dmd2\windows\lib


步骤二:
将编译时所需要的di("include")文件,
或D源文件,
说白了,就是import需要用到的文件,
放到自己希望维护的目录。
引用
比如:
我把SQLite3-D的"include"文件,
都放到了这里:
E:\dm_soft\dmd2\windows\import\SQLite3-D


步骤三:
将lib目录追加到dmd2\bin\sc.ini文件中的LIB参数中,
引用
修改前:
LIB="%@P%\..\lib";\dm\lib
修改后:
LIB="%@P%\..\lib";\dm\lib;"%@P%\..\lib";

目的:
为了在编译连接时,
可以在这些目录中自动寻找所需的lib文件。

步骤四:
使用bud命令进行代码的编译:
bud test.d -IE:\dm_soft\dmd2\windows\import\SQLite3-D -odbin -ofbin\DDT.exe -cleanup

各参数说明:
-I :让编译器知道"include"文件的所在目录
-od :编译后的输出文件的路径。例子中是在运行bud命令时所在目录中的bin文件夹
-of :编译后生成的文件名。例子中是在运行bud命令时所在目录中的bin文件夹中,生成DDT.exe文件
-cleanup:将编译过程中生成的obj等文件清空。即,不在-od指定的目录中生成obj等文件

至此,
就结束了文件的编译工作,
不用在编译的命令中,
指出所需的lib、obj等文件了。

补充:
另外,
bud和dmd命令一样,
也支持读取文件的方式进行编译,
将例子中的命令内容,
放到一个名叫build.brf的文件中:
-IE:\dm_soft\dmd2\windows\import\gtkD\include\d
-odbin
-ofbin\DDT.exe
-cleanup


然后,
运行下面的命令也可以得到和之前相同的结果:
bud test.d @build.brf



分享到:
评论

相关推荐

    bud_build:golang 构建系统使用 golang

    芽golang 构建系统使用 golang安装go get github.com/tbud/bud 示例build.bud 此文件只是一个快速示例,可让您了解 bud 的作用。 # ! / usr / bin / env bud# config asset pluginTaskConfig ( "bud.asset" , Config...

    前端开源库-coz-bud-remover

    在实际应用中,coz-bud-remover的使用方法非常简单。首先,你需要在你的项目中安装coz和coz-bud-remover,然后在coz的配置文件中添加相应的插件配置,指定需要移除的文件或目录。一旦配置完成,每次执行构建命令时,...

    前端开源库-coz-bud

    【前端开源库-coz-bud】是一个专门为前端开发者设计的开源构建工具,它旨在简化前端项目的构建流程,提高开发效率...通过深入理解和使用coz-bud,开发者可以提升项目构建的效率,同时享受到开源社区带来的便利和支持。

    前端开源库-coz-bud-remover.zip

    1. 安装:首先,开发者需要通过npm(Node Package Manager)来安装这个工具,通常使用命令`npm install coz-bud-remover --save-dev`将其添加到项目的开发依赖中。 2. 配置:在项目根目录下创建或更新配置文件,如`....

    前端开源库-coz-bud-compiler

    在实际使用中,Coz Bud编译器提供了丰富的配置选项。通过`.budrc`或`budfile.js`等配置文件,开发者可以设置输入输出路径、忽略文件、设置环境变量、添加编译规则等。同时,它支持热模块替换(Hot Module ...

    前端开源库-coz-bud.zip

    "前端开源库-coz-bud.zip" 是一个包含前端开发工具和框架的压缩包,它可能是一个名为 "coz-bud" 的项目或库。由于没有具体的标签信息,我们将基于一般的前端开源库的特点来深入讨论可能包含的知识点。 1. **前端...

    前端开源库-coz-bud-writer

    在【coz-bud-writer-master】这个压缩包中,我们可以期待找到该库的源码、README文件(包含详细的使用说明)、示例代码、配置文件以及可能的测试用例。通过阅读源码和文档,开发者可以深入了解这个库的工作原理,并...

    Autonics BUD系列 图象传感器※光纤视觉传感器.pdf

    Autonics BUD系列图象传感器是Autonics公司生产的一款光学检测设备,主要用于自动化生产线中对产品进行视觉检测和尺寸测量。该传感器广泛应用于各类制造业中,能够实现高速和高精度的检测。BUD系列传感器通常具备...

    Bud_Code:仅用于显示我的项目代码的一部分

    综上所述,"Bud_Code"项目是一个使用TypeScript编写的代码示例或部分项目,其目的是为了展示或分享。通过分析压缩包中的文件,我们可以学习到如何组织TypeScript项目,理解其代码结构和编程风格,同时也可能接触到...

    bud, Prototype芽运行时( Bloom ).zip

    bud, Prototype芽运行时( Bloom ) 我是 Bud,a.k. 。 ,开发,。这是一个在一个,的初始切割,使用 ruby 作为一个设置。查看授权信息许可证。文档/cheat 。md中的语言 cheatsheet ;请参阅文档/目录以获取其他文档。...

    Bud Extension-crx插件

    这款插件的核心特性是支持WebRTC(Web Real-Time Communication)的屏幕共享功能,使得用户能够在使用Bud应用时方便地与他人共享自己的屏幕内容。 WebRTC是一种开放的网络通信技术,它允许在浏览器之间进行实时的音...

    前端开源库-coz-bud-loader

    前端开源库-coz-bud-loadercoz芽装载机,coz的芽装载机。

    bud:具有自动化功能的Django项目模板

    特征使用docker-compose管理开发环境使用pre-commit来防止您提交不合适的代码使用mypy进行类型检查用black格式化代码使用EditorConfig获得一致的编辑体验使用django-configurations遵循12因子应用指南。 只有一个...

    bud_ui:自定义组件库

    BUD_UI 自定义组件库基于React操作说明您需要先创建React项目,然后才能使用BUD_UI。 根目录中的每个文件夹都是一个特定的自定义组件。使用组件示例“ Video_Component” 您需要打开video_component文件夹并阅读...

    bud-backend:芽的示例后端

    芽后端 的示例/模板后端。 用法 命令行界面 $ npm install -g bud-backend $ cat > config.json <<... var bud = require ( 'bud-backend' ) ; bud . createServer ( { // Server Name Indica

    FLOWER BUD DIFFERENTIATION PATTERNS OF THREE LILY CULTIVARS

    本研究主要使用显微镜对这些百合品种在不同生长阶段的芽分化模式进行了观察,旨在揭示不同百合品种在低温处理和种植过程中的生理变化规律,特别是花芽分化期间碳水化合物的转化与利用。 研究内容涉及百合品种的花芽...

    芽延伸「Bud Extension」-crx插件

    允许Bud使用WebRTC屏幕共享功能的扩展 允许Bud使用WebRTC屏幕共享功能的扩展 支持语言:English

    bud-indexhtml:index.html芽插件

    bud-indexhtml 芽插件 安装 $ npm install bud-indexhtml 用法 var build = require ( 'bud' ) ; var indexhtml = require ( 'bud-indexhtml' ) ; build ( "dist/index.html" , indexhtml ( { dest : 'index.html' ...

    Bud3

    Vue CLI会处理诸如CSS预处理器、JavaScript模块打包、tree-shaking(去除未使用的代码)、代码分割等优化,以确保部署到生产环境的代码体积小且运行速度快。 4. **代码整理与修复**: "npm run lint"执行代码质量...

    Bud:原型游戏在第一届上海游戏大赛中获得第二名-开源

    这是一款概念游戏,旨在为玩家提供恢复活力的感觉。 这款原型机是在2011年第一届上海游戏大战中在48小时内开发的。... 如果您对有关此游戏的更多信息感兴趣,请使用URL与我联系或给我发送电子邮件。

Global site tag (gtag.js) - Google Analytics