gpt4 book ai didi

perl - 安装新模块时 dmake 实际上在做什么?

转载 作者:行者123 更新时间:2023-12-01 15:38:33 28 4
gpt4 key购买 nike

经过一番努力,我终于安装了 perl/Tk 模块。我意识到我不明白 dmake 或 make 等实际上在做什么。

我正在使用安装在 C:\strawberry 的 strawberry perl。

首先,我将模块解压缩到另一个目录并运行 perl makefile.pl,它运行良好。然后我尝试了 dmake,但没有用。我想这对于了解其工作原理的人来说是显而易见的。

当我将模块作为 C:\strawberry 的子目录放置时,我可以运行 perl makefile.pl、dmake、dmake test 和 dmake install。

我的猜测是 dmake install 正在向解释器添加一些可执行文件,并且模块必须位于子目录中才能工作。有没有任何文章详细解释了它在做什么?

最佳答案

当您看到 Makefile.PL 文件时,这意味着它是一个安装系统的模块 ExtUtils::MakeMaker .

EU::MM 是用于安装 Perl 模块的经典系统,可追溯到 CPAN 诞生之初。它依赖于这样一个事实,即程序 make - 一种通用且强大的依赖项跟踪工具 - 几乎在每个 unix 系统上都可用,并且依赖于各种 unix 模式和行为。

Makefile.PL 是模块作者维护的 Perl 脚本。它从 Perl 本身读取有关您的系统的信息,并使用它来创建 Makefile。此 Makefile 指示 make 要执行的操作。有关 make 的更多信息,请查看 The Wikipedia page on Make .但本质上,make 所做的是查看规则,告诉它要“制作”哪些文件。它递归地查看所有规则以创建“目标”(例如,当您键入 make install 时,“安装”是目标)然后遵循它们直到 (a) 它到达目标或 (b) 它可怕地爆炸。我们都希望(a),但(b)也经常如此。 :)

不幸的是,在 Windows 领域,我们没有 make。或者编译器。通常,无论如何。

dmake 是一个在 Windows 上运行良好的 make 程序。 Strawberry Perl 将您在 Windows 上的类 unix 环境中实际构建所需的所有东西打包到一个方便的包中,使您刚刚做的事情成为可能。

关于perl - 安装新模块时 dmake 实际上在做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2777261/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com