我看到了两条类似于我的问题的线索,没有一个答案对我有帮助。
我得到了一台运行Windows7Enterprise SP1 64位的新笔记本电脑,我在其上安装了Active Perl 5 'version 20,subversion 2 (v5.20.2),为MSWin32 32-x64-多线程‘和2015构建的。
‘C:\perl64 64’和'c:\program (32)\Microsoft Visual Studio 14.0\VC\bin‘都在我的系统路径中,当然没有单引号,如果我在命令行上运行nmake而没有任何参数,并且在pwd中没有makefile,我会得到以下消息,明确指出可以找到nmake:
微软(注册商标)程序维护实用版14.00.23026.0版权(C)微软公司。版权所有。 NMAKE :致命错误U1064: MAKEFILE未找到且未指定目标停止。
到现在为止还好。现在,当我运行Makefile.PL开始安装一个新的包时,我会收到以下消息:
您的路径上似乎没有nmake.exe或dmake.exe,因此您将无法从Makefile执行这些命令。通过运行以下命令,您可以使用安装dmake.exe: ppm安装dmake 看看你的装备是否齐全..。生成一个dmake样式的Makefile看起来不错。
我不明白并想解决的是为什么Perl在我的PATH环境中看不到nmake?以前,我在许多不同的机器上安装过这个软件包,其中唯一真正的变化是Perl和MSVS发行版的版本号,以及Perl的位版本,在几乎所有的情况下,我都使用了32位而不是64位,但我不明白为什么这两种方法都会对Perl在%PATH%中不识别MSVS bin目录产生影响。
安装dmake或minGW对我来说不是一种解决方案:我已经做到了这两种方法,并且得到了一些以前在这个包中从未经历过的错误,所以我真的很想找到一种解决方案,允许我使用nmake --如果之后仍然有错误,我会在找到它们时解决这些错误。
谢谢
发布于 2022-01-25 07:16:19
编辑C:\Perl64\lib\ExtUtils\MakeMaker.pm并在“要求导出者”之前添加“需求模块::构建;”行。顶部现在应该是这样的:
# $Id$
package ExtUtils::MakeMaker;
use strict;
BEGIN {require 5.006;}
require Module::Build; # THIS IS ADDED
require Exporter;
use ExtUtils::MakeMaker::Config;
use ExtUtils::MakeMaker::version; # ensure we always have our fake version.pm
use Carp;
use File::Path;帮我修好了。
https://stackoverflow.com/questions/31949834
复制相似问题