经过一番努力,我才设法安装了perl/Tk模块。我意识到我不理解dmake或make等实际上在做什么。
我使用的是安装在C:\strawberry的草莓perl。
首先,我将模块解压到另一个目录中,然后运行perl makefile.pl,它工作得很好。然后我尝试了dmake,但不起作用。我想这对于知道这是如何工作的人来说是显而易见的。
当我将模块放在C:\strawberry的子目录中时,我可以运行perl makefile.pl、dmake、dmake test和dmake install。
我的猜测是dmake install正在向解释器添加一些可执行文件,并且模块必须位于子目录中才能正常工作。有没有什么文章详细解释了它在做什么?
发布于 2010-05-06 08:19:08
当你看到一个Makefile.PL文件,这意味着它是一个模块谁的安装系统是ExtUtils::MakeMaker。
MM是用于安装Perl模块的经典系统,其历史可以追溯到CPAN诞生之初。它依赖于这样一个事实,即程序make--一个通用的、强大的依赖跟踪工具--几乎在每个unix系统上都可用,并且依赖于所有类型的unixy模式和行为。
Makefile.PL是模块的作者维护的Perl脚本。它从Perl本身读取有关系统的信息,并使用该信息创建一个Makefile。这个Makefile指示make要执行的操作。有关make的更多信息,请访问The Wikipedia page on Make。但本质上,make所做的是查看规则,这些规则告诉它要‘制作’什么文件。它递归地查看所有创建“目标”的规则(例如,当你输入make install时,“install”是目标),然后遵循这些规则,直到(a)它到达目标或(b)它可怕地爆炸。我们都希望(a),但(b)通常也是如此。:)
不幸的是,在Windows环境下,我们没有make。或者是编译器。通常,不管怎么说。
dmake是一个make程序,碰巧在Windows上运行得很好。Strawberry Perl将在Windows上的类unix环境中实际构建所需的所有内容打包到一个方便的包中,从而使您所做的一切成为可能。
https://stackoverflow.com/questions/2777261
复制相似问题