【问题标题】:SIP Makefile fail (gnuwin and mingw)SIP Makefile 失败(gnuwin 和 mingw)
【发布时间】:2013-04-07 15:00:24
【问题描述】:

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

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 都出现此错误。所以我现在不知道该怎么办。任何想法?

【问题讨论】:

    标签: python-2.7 makefile mingw python-sip gnuwin32


    【解决方案1】:

    如果使用python configure.py,则生成的Makefiles 实际上是nmake makefile。 nmake 相当于 Microsoft 的 make。如果已安装,您可以通过在 Visual Studio 命令提示符中调用 nmake 来运行它。

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

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

    之后,调用make 工作正常。


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

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

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

    【讨论】:

    • 试过nmake,它成功了!非常感谢,感谢您的深入解释。这是我第一次听说makefile,所以真的很有帮助:)
    猜你喜欢
    • 1970-01-01
    • 2015-03-31
    • 2011-07-14
    • 2011-08-15
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多