2

我已经下载了适用于 python 2.7 的 Sip 模块,创建了一个 makefile 并在make带有 makefile 的目录上尝试了命令,但是我收到了这个错误:

Makefile:3: recipe for target 'all' failed
mingw32-make[10]: *** [all] Error 2
mingw32-make[10]: Leaving directory 'D:/Users/myLogin/Downloads/python/sip-4.14.5'

Gnuwin 和 mingw32 都出现此错误。所以我现在不知道该怎么办。任何想法?

4

1 回答 1

10

如果使用python configure.py,则生成Makefile的 s 实际上是nmakemakefile。nmake是微软的等价物makenmake如果您安装了 Visual Studio 命令提示符,则可以通过调用它来运行它。

对于使用 进行构建mingw,您必须在创建 makefile 时指明要使用该特定平台,如下所示:

python configure.py --platform win32-g++

之后,调用make工作正常。


make关于在nmakemakefile上运行时会发生什么的一些细节。生成的nmake文件以以下行开头:

all:
    cd sipgen
    $(MAKE)
    @cd ..
    cd siplib
    $(MAKE)
    @cd ..

因为每一行的每条命令都是在一个新的shell中执行的,所以结果cd sipgen实际上是无效的。然后,make在当前目录中再次调用——这会导致make调用的无限递归循环。您的[10]错误消息中的 表明它处于第 10 级递归。我想那是你按下的那一刻Ctrl- C:-)

于 2013-04-17T04:00:18.963 回答