2

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

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

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

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

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

4

2 回答 2

5

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

EU::MM 是安装 Perl 模块的经典系统,可追溯到 CPAN 的曙光。它依赖于这个程序make——一个通用的、强大的依赖跟踪工具——几乎可以在每个 unix 系统上使用,并且依赖于各种 unixy 模式和行为。

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

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

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

于 2010-05-06T00:19:08.073 回答
2

这可能过于从字面上理解您的问题,但dmake有一个-v选项(对于verbose

dmake -v

dmake -v target

这将显示有关dmake安装过程中正在做什么的信息。

于 2010-05-06T03:01:07.753 回答