首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在ocamlbuild中包含来自另一个目录的依赖项?

在ocamlbuild中包含来自另一个目录的依赖项可以通过使用ocamlbuild的plugins来实现。插件是一种提供自定义构建规则的方式,可以通过在构建流程中执行任意命令来处理依赖项。

以下是一种将另一个目录的依赖项包含到ocamlbuild中的方法:

  1. 创建一个名为"my_plugin.ml"的插件文件,内容如下:
代码语言:txt
复制
open Ocamlbuild_plugin

let include_other_dir (tags: string list) (path: string) (dep: string) : string =
  let full_path = path ^ "/" ^ dep in
  let new_tags = tags @ ["my_plugin"] in
  let rule = (dep ^ ".native") :: new_tags in
  rule, full_path

let () =
  dispatch begin function
    | After_rules ->
      let path = "<其他目录的路径>" in
      let dep = "<依赖项>" in
      dep |> include_other_dir ["ocaml"; "byte"; "program"] path |> rule
    | _ -> ()
  end
  1. 在你的工程目录中,创建一个"_tags"文件,内容如下:
代码语言:txt
复制
<依赖项>: use_my_plugin
  1. 编译你的工程:
代码语言:txt
复制
$ ocamlbuild <目标文件>.native

这将会使用自定义插件来处理来自另一个目录的依赖项。你可以根据实际情况修改插件文件中的路径和依赖项,使其适应你的工程。

注意:由于ocamlbuild是一个可扩展的构建系统,这种方法可能并不是所有情况下都适用。根据你的实际需求,你可能需要进行更多的自定义修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在 WPF 获取所有已经显式赋过值依赖属性

获取 WPF 依赖属性值时,会依照优先级去各个级别获取。这样,无论你什么时候去获取依赖属性,都至少是有一个有效值。有什么方法可以获取哪些属性被显式赋值过呢?...如果是 CLR 属性,我们可以自己写判断条件,然而依赖属性没有自己写判断条件地方。 本文介绍如何获取以及显式赋值过依赖属性。...---- 需要用到 DependencyObject.GetLocalValueEnumerator() 方法来获得一个可以遍历所有依赖属性本地值。...因此,你不能在这里获取到常规方法获取到依赖属性真实类型值。 但是,此枚举拿到所有依赖属性值都是此依赖对象已经赋值过依赖属性本地值。如果没有赋值过,将不会在这里遍历中出现。...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后作品务必以相同许可发布。

19740
  • MAVEN之pom文件快速应用

    MAVEN依赖关系Scope作用 Dependency Scope 在POM4 还引入了,它主要管理依赖部署。...指定scope为system需要与另一个属性元素systemPath一起使用,它表示该依赖在当前系统位置,使用是绝对路径。...方法一:将待引入包放在目录lib目录下,修改pom文件,加入依赖并且scope要设置为system <groupId...方法二:将待引入jar包安装到本地repository 1、先把待引入jar包放在一个目录下,需要改一下包名,fbcds.jar修改成fbcds-1.0.jar,F:\lib目录,在命令行...lib目录下,打的包里没有依赖信息,只是简单包,不过Manifest文件class-path要包含引用名路径 Manifest-Version: 1.0 Built-By: lweifeng Build-Jdk

    1.2K20

    何在 Windows 上安装 Angular:Angular CLI、Node.js 和构建工具指南

    Angular CLI, Node.js, and Build Tools,作者为Ahmed Bouchefra 在本教程,我们将学习如何在 Windows 安装 Angular CLI 并使用它来创建...build (b): 将 Angular 应用程序编译到给定输出路径上名为 dist/ 输出目录。必须从工作空间目录执行。 config: 检索或设置 Angular 配置值。...run: 运行项目中定义自定义目标。 serve (s): 构建并服务您应用程序,根据文件更改进行重建。 test (t): 在项目中运行单元测试。 update: 更新您应用程序及其依赖。...配置文件 angular.json:包含 CLI 配置 package.json:包含项目的基本信息(名称、描述和依赖) README.md:包含项目描述 markdown 文件 tsconfig.json...结论 在本教程,我们了解了如何在 Windows 计算机上安装 Angular CLI,并使用它从头开始初始化一个新 Angular 项目。

    47200

    Spring 和 SpringBoot 之间到底有啥区别?

    包含一些很好功能,依赖注入和开箱即用模块,:SpringJDBC、SpringMVC、SpringSecurity、SpringAOP、SpringORM、SpringTest,这些模块缩短应用程序开发时间...另一个很好例子就是测试库。我们通常使用 SpringTest, JUnit, Hamcrest和 Mockito库。在 Spring项目中,我们应该将所有这些库添加为依赖。...但是在 SpringBoot,我们只需要添加 spring-boot-starter-test依赖来自包含这些库。 Spring Boot为不同Spring模块提供了许多依赖。...Bootweb starter来自包含。...这意味着 SpringBoot将查看应用程序存在依赖,属性和 bean,并根据这些依赖,对属性和 bean进行配置。

    4.7K10

    Spring 和 SpringBoot 最核心 3 大区别,详解!

    包含一些很好功能,依赖注入和开箱即用模块,: SpringJDBC、SpringMVC、SpringSecurity、SpringAOP、SpringORM、SpringTest,这些模块缩短应用程序开发时间...另一个很好例子就是测试库。我们通常使用 SpringTest, JUnit, Hamcrest和 Mockito库。在 Spring项目中,我们应该将所有这些库添加为依赖。...但是在 SpringBoot,我们只需要添加 spring-boot-starter-test依赖来自包含这些库。 Spring Boot为不同Spring模块提供了许多依赖。...Bootweb starter来自包含。...这意味着 SpringBoot将查看应用程序存在依赖,属性和 bean,并根据这些依赖,对属性和 bean进行配置。

    1.5K30

    百度面试官:说说 Spring 和 Spring Boot 区别是什么?

    包含一些很好功能,依赖注入和开箱即用模块,: SpringJDBC、SpringMVC、SpringSecurity、SpringAOP、SpringORM、SpringTest,这些模块缩短应用程序开发时间...另一个很好例子就是测试库。我们通常使用 SpringTest, JUnit, Hamcrest和 Mockito库。在 Spring项目中,我们应该将所有这些库添加为依赖。...但是在 SpringBoot,我们只需要添加 spring-boot-starter-test依赖来自包含这些库。欢迎关注公号终码一生,每日分享技术干货。...Bootweb starter 来自包含。...这意味着 SpringBoot将查看应用程序存在依赖,属性和 bean,并根据这些依赖,对属性和 bean进行配置。

    72720

    详解Spring和SpringBoot3大核心区别!

    包含一些很好功能,依赖注入和开箱即用模块,: SpringJDBC、SpringMVC、SpringSecurity、SpringAOP、SpringORM、SpringTest,这些模块缩短应用程序开发时间...另一个很好例子就是测试库。我们通常使用 SpringTest, JUnit, Hamcrest和 Mockito库。在 Spring项目中,我们应该将所有这些库添加为依赖。...但是在 SpringBoot,我们只需要添加 spring-boot-starter-test依赖来自包含这些库。 Spring Boot为不同Spring模块提供了许多依赖。...Bootweb starter来自包含。...这意味着 SpringBoot将查看应用程序存在依赖,属性和 bean,并根据这些依赖,对属性和 bean进行配置。

    2.1K20

    2020年度最常见Spring Boot面试题【附解析】

    16、如何在 Spring Boot 禁用 Actuator 端点安全性? 17、我们如何监视所有 Spring Boot 微服务? 18、什么是 WebSockets?...27、如何重新加载 Spring Boot 上更改,而无需重新启动服务器? 28、Spring Boot项目如何热部署? 29、您使用了哪些 starter maven 依赖?...普通 jar 包,解压后直接就是包名,包里就是我们代码,而 Spring Boot 打包成可执行 jar 解压后,在 \BOOT-INF\classes 目录下才是我们代码,因此无法被直接引用。...Spring Boot 如何实现定时任务 ? 定时任务也是一个常见需求,Spring Boot 对于定时任务支持主要还是来自 Spring 框架。...在 Spring Boot 中使用定时任务主要有两种不同方式,一个就是使用 Spring @Scheduled 注解,另一个则是使用第三方框架 Quartz。

    1.5K10

    Cypress系列(4)- 解析 Cypress 默认文件结构

    默认就在 目录下,但也可以配置到另一个目录 cypress/fixtures 外部静态数据详解 测试夹具静态数据通常存储在 文件自动生成 examples.json .json 静态数据通常是某个网络请求对应响应部分.../integration ,但也可以配置到另一个目录 测试文件格式 所有在 integration 文件下,且文件格式是以下文件都将被 Cypress 识别为测试文件 :普通JavaScript...编写文件【最常用啦】 .js :带有扩展 JavaScript 文件,其中可以包含处理 XML ECMAScript .jsx :一套 JavaScript 转译语言。...默认情况,插件位于 ,但可以配置到另一个目录 cypress/plugins/index.js 为了方便,每个测试文件运行之前,Cypress 都会自动加载插件文件 cypress/plugins...后面再详解插件在项目中实际运用 support file 支持文件 简介 支持文件目录是放置可重用配置底层通用函数或全局默认配置 支持文件默认位于 ,但可以配置到另一个目录 cypress

    2.5K20

    Go | 浅谈包管理模式

    go编译器会在 $GOPATH/src 下面寻找对应模块,src 下每一个目录都可以对应一个模块,目录目录也可以是一个模块 下面展示如何在入口文件main.go 里引入非标准库model包变量...这种情况下可以分为两种情形: 当前目录在GOPATH/src之外且该目录包含go.mod文件 当前文件在包含go.mod文件目录下面。...,没有的代表直接依赖, 前面是版本号+时间戳+hash(:v0.0.0-20190620200207-3b0461eec859) go.mod文件一旦创建后,它内容将会被go toolchain...语句可以替换依赖模块 exclude 语句可以忽略依赖模块 2、添加依赖 新建main.go文件 执行 go run main.go 一般来说 go mod 模式下,运行...go.sum文件是对导入依赖特定版本hash校验值,作用就是记录第一次下载依赖版本号,防止有依赖版本升级带来不兼容问题。所以,go.mod和go.sum文件都需要被加入版本管理

    51320

    Python项目打包成可执行文件完整指南

    基本概念在讨论打包之前,了解以下几个基本概念非常重要:可执行文件:在Windows系统,可执行文件通常是以“.exe”扩展名结尾文件。它包含了可以直接运行二进制代码。...依赖:Python项目通常依赖于各种外部库或模块。这些依赖在打包时需要一并包含,以确保可执行文件在没有Python环境系统上也能运行。...cx_Freeze:cx_Freeze是另一个流行打包工具。它也可以将Python脚本及其依赖打包成可执行文件,并支持多个平台。...如果你不加这个选项,PyInstaller会将依赖分散到多个文件夹。4. 自定义打包配置如果你项目有特定需求,比如需要包含数据文件、图标或进行其他配置,可以使用.spec文件来自定义打包过程。...检查输出打包完成后,PyInstaller会在项目目录下生成一个dist文件夹,里面包含了生成可执行文件。你可以在不同系统上测试这个文件,确保它能正常运行。

    80730

    何在Ubuntu 16.04上使用Concourse CI设置持续集成管道

    这会将我们应用程序存储库资源uri和branch设置插入到第二个资源。名为“paths”附加元素指向package.json定义项目依赖文件。...注意:在此特定示例,只有一个额外作业,因此将Node.js依赖关系作为独立步骤缓存好处尚未完全实现(将get语句添加到下面的测试作业就足以下载依赖)。...但是,几乎所有使用Node.js工作都需要项目依赖,因此如果您有可能并行完成单独作业,单独依赖缓存好处将会体现出来。...这里,应用程序存储库将在hello_hapi目录下可用,并且Node.js依赖将在名为dependency-cache目录下可用。...我们运行第一个命令将位于node_modules目录缓存依赖从dependency-cache目录中移动到hello_hapi目录

    4.3K20

    云课五分钟-03第一个开源游戏复现-贪吃蛇

    安装依赖:在Linux上编译和运行DungeonRush-master游戏可能需要一些依赖库和工具。请确保您系统上已安装所需依赖。这些依赖可能包括开发工具链、图形库、音频库等。...您可以查阅DungeonRush-master文档或项目说明,了解并安装所需依赖。 编译游戏:一旦您获得源代码并安装了依赖,接下来是编译游戏。...进入源代码目录,查找是否有编译脚本(Makefile或CMakeLists.txt)。如果有,您可以使用相应构建工具(make或cmake)进行编译。...从你给出文本,我看到你提供了关于“DungeonRush”游戏更多详细信息,包括如何在openSUSE和MacOS上安装依赖,以及如何编译该游戏。...这些信息详细地介绍了游戏特点和玩法,以及如何在不同操作系统上安装游戏所需依赖库,并提供了游戏编译指南。

    32730

    90%的人都不知道Node.js 依赖关系管理(上)

    此处可以看到module.exports用法,该方法公开给定文件(appMsgs.js)属性或对象,这些属性或对象可以在另一个文件中使用。...每次函数调用都会执行此代码 下面是它如何在app.js文件中使用 ? 不需要调用属性,只需要像执行函数一样。与函数执行不同是每次执行这个代码,函数代码都会被重新执行 下面是运行结果 ?...单个文件使用require很常见,但别忘了另一种模式:文件夹之间依赖关系 文件夹相关性 在正式介绍文件夹相关性之前,我们先来了解Nodejs如何查找依赖,不要忽略前面例子这一内容: var appMsgs...原因是,我们可能正在组合一个复杂依赖,这个依赖可能还有其他依赖。而记录器调用者不需要知道还有很多其他依赖存在。...我们可以使用npm安装依赖 npm install underscore; 然后可以在app.js简单地require ? 我们可以看到标红位置如何使用下划线包提供功能。

    1.7K20

    Gradle+Groovy基础篇

    与仅在Maven添加依赖相比,充分利用Gradle无疑具有更陡峭学习曲线。但是向Gradle文件添加依赖实际上并不比在Maven困难。...该project对象是Project该类实例,该类是构建主要API父类。 您所见,这些函数将一系列依赖作为字符串传递。那么,为什么不使用更传统静态数据结构(JSON,属性或XML)呢?...您可能会看到另一个依赖配置是runtimeOnly和testRuntimeOnly。这声明了运行时提供不需要对其进行编译依赖。 定义依赖关系方法比对本文范围有用方法更多。...几乎可以说任何东西都可以是依赖:本地文件,jar目录另一个Gradle项目等等,并且可以将依赖配置为执行某些操作,例如排除某些子依赖。...它将列出一棵树,其中包含项目所需所有依赖关系(包括子依赖关系)。尝试gradle dependencies在项目根目录运行。

    2.1K20

    maven 学习总结

    在settings.xml可以配置,本地Repository、proxy等等. 3、目录结构 Maven2标准目录结构如下: 使用目录模板,可以使pom.xml更简洁。...7、依赖管理 为了给项目添加一个依赖,必须将此依赖添加到pom.xml文件。下次运行Maven时候,它将从Ibiblio存储库得到这个依赖,并且将此依赖添加到项目构建路径。...解决这个问题办法有两种,一种是下载这些代码并将它们安装在您本地存储库,另一种是做一个外部声明,并将这个声明指向文件系统依赖所在位置。...改变Maven存储库路径只需简单地编辑其安装目录下 conf文件夹下面的settings.xml文件即可 在Maven中使用依赖是简单。让我们看看往上述pom.xml文件添加一个依赖情况。...让我们看看一个例子,它展示了如何在应用程序用使用多个存储库。在以下从pom.xml文件摘录片断,我们设置了两个存储库来让Maven寻找依赖

    1.7K50
    领券