Makefile 错误127-目标配方失败-从Pepper 19编译Google NaCl示例时?

Makefile 错误127-目标配方失败-从Pepper 19编译Google NaCl示例时?,makefile,google-nativeclient,Makefile,Google Nativeclient,在Cygwin终端中运行make批处理文件时,我得到以下输出: mparadis@A-082-MPARADI-0 ~/pepper_19/examples$ make make -C dlopen make[1]: Entering directory `/cygdrive/c/nacl_sdk/pepper_19/examples/dlopen' /cygdrive/c/nacl_sdk/pepper_19/toolchain/win_x86_glibc/bin/i686-nacl-g

在Cygwin终端中运行make批处理文件时,我得到以下输出:

mparadis@A-082-MPARADI-0 ~/pepper_19/examples$ make  
make -C dlopen  
make[1]: Entering directory `/cygdrive/c/nacl_sdk/pepper_19/examples/dlopen' /cygdrive/c/nacl_sdk/pepper_19/toolchain/win_x86_glibc/bin/i686-nacl-g++ -o dlopen_x86_32.o -c
dlopen.cc -m32 -g -O0 -pthread -std=gnu++98 -Wno-long-long -Wall  
Makefile:92: recipe for target `dlopen_x86_32.o' failed  
make[1]: *** [dlopen_x86_32.o] Error 127  
make[1]: Leaving directory `/cygdrive/c/nacl_sdk/pepper_19/examples/dlopen'  
Makefile:33: recipe for target `dlopen_TARGET' failed  
make: *** [dlopen_TARGET] Error 2
要正确设置Python需要一些时间,因为我需要语言解释器包,但不知道我还没有。Python的My
env
变量已正确设置为
C:\python27
。我在编译同事的代码时得到了同样的结果,我可以在Mac或Linux机器上很好地编译。不幸的是,我也需要在我的Cygwin环境中工作

任何有使用谷歌原生客户端经验的人,或者知道为什么会发生这种情况的人,请提供建议。我已经做了这么长时间了,我一直盯着电脑屏幕

更新:

如果我将
--version
标志插入makefile中引用的命令,我将收到与上面相同的错误。但是,如果按原样从与make文件相同的工作目录键入命令,则会得到以下结果:

mparadis@A-082-MPARDI-0~/pepper_19/examples/dlopen>$/cygdrive/c/nacl_sdk/pepper_19/toolchain/win_x86_glibc/bin/i686-nacl-g++.exe-o dlopn_x86_32.o-c dlopen.cc-m32-g-O0-pthread-std=gnu++98——版本

mparadis@A-082-MPARDI-0~/pepper\u 19/examples/dlopen$

换句话说,它只需思考一秒钟,然后返回提示。

您的cygwin可能有bug,并将此返回代码提供给所有批处理文件。我的朋友就是这么做的。我的cygwin版本:

$ uname -srv
CYGWIN_NT-6.1-WOW64 1.7.17(0.262/5/3) 2012-10-19 14:39

从您的评论中,我看到了一个名为“make.bat”的东西:

你也可以用这个小bash脚本来测试你的cygwin

#!/bin/bash
echo echo foo %errorlevel% bar >temp.bat
./temp.bat
if [ $? -eq 127 ]; then echo "bug"; fi
如果该目标的make配方使用了
make.bat
,并且您有此错误,则此cygwin错误导致错误127

您的cygwin可能有错误,并将此返回代码提供给所有批处理文件。我的朋友就是这么做的。我的cygwin版本:

$ uname -srv
CYGWIN_NT-6.1-WOW64 1.7.17(0.262/5/3) 2012-10-19 14:39

从您的评论中,我看到了一个名为“make.bat”的东西:

你也可以用这个小bash脚本来测试你的cygwin

#!/bin/bash
echo echo foo %errorlevel% bar >temp.bat
./temp.bat
if [ $? -eq 127 ]; then echo "bug"; fi

如果该目标的make recipe使用了
make.bat
,并且您有这个bug,那么这个cygwin bug会导致错误127

从MSYS终端构建示例对我来说很好。可执行文件
i686-nacl-g++
是否确实存在于该位置,当您以
--version
作为参数调用它时,您会看到什么?我在第一次设置它时构建它时没有遇到任何问题,但由于其他原因,我需要卸载所有内容,从那时起,我的机器上就出现了这个问题(它是在另一台机器上完成的,我刚刚试着在上面设置它。它就在那个位置,正确的版本这里是一个屏幕转储:mparadis@A-082-MPARDI-0~/pepper_19/toolchain/win_x86_glibc/bin$i686-pc-cygwin-g++--版本i686-pc-cygwin-g++(GCC)4.5.3版权所有(C)2010免费软件基金会,这是免费软件;查看复制条件的来源。没有保证;甚至没有针对特定用途的适销性或适合性。我想知道是否有CygWin包。我错了。好吧,但是如果您完全重复命令<代码> /CyGrave/C/NACLYSDK/PEPPER19/TooStLo/Wi,会发生什么?n_x86_glibc/bin/i686-nacl-g++--version?我认为错误127表示缺少可执行文件。如果我将--version标志插入makefile中引用的命令,我将收到与上面相同的错误。但是,如果我按原样从与make文件相同的工作目录键入命令,我将得到以下信息:“code”mparadis@A-082-MPARDI-0~/pepper_19/examples/dlopen$/cygdrive/c/nacl_sdk/pepper_19/toolchain/win_x86_glibc/bin/i686-nacl-g++.exe-o dlopn_x86_32.o-c dlopen.cc-m32-g-O0-pthread-std=gnu++98——版本mparadis@A-082-mpardi-0~/pepper_19/examples/dlopen$ls dlopen.cc dlopen.html eightball.cc eightball.h make.bat Makefile“构建示例”在MSYS终端上运行良好。可执行文件
i686-nacl-g++
是否确实存在于该位置,当您以
--version
作为参数那样调用它时,您会看到什么?我在第一次设置它时没有遇到任何问题,但由于其他原因,我需要卸载所有内容,并且出现了此问题从那以后,我的机器(它在另一台机器上运行,我刚刚试着设置它。它就在那个位置,正确的版本这里是一个屏幕转储:mparadis@A-082-MPARDI-0~/pepper_19/toolchain/win_x86_glibc/bin$i686-pc-cygwin-g++--版本i686-pc-cygwin-g++(GCC)4.5.3版权所有(C)2010免费软件基金会,这是免费软件;查看复制条件的来源。没有保证;甚至没有针对特定用途的适销性或适合性。我想知道是否有CygWin包。我错了。好吧,但是如果您完全重复命令<代码> /CyGrave/C/NACLYSDK/PEPPER19/TooStLo/Wi,会发生什么?n_x86_glibc/bin/i686-nacl-g++--version?我认为错误127表示缺少可执行文件。如果我将--version标志插入makefile中引用的命令,我将收到与上面相同的错误。但是,如果我按原样从与make文件相同的工作目录键入命令,我将得到以下信息:“code”mparadis@A-082-MPARDI-0~/pepper_19/examples/dlopen$/cygdrive/c/nacl_sdk/pepper_19/toolchain/win_x86_glibc/bin/i686-nacl-g++.exe-o dlopn_x86_32.o-c dlopen.cc-m32-g-O0-pthread-std=gnu++98——版本mparadis@A-082-mpardi-0~/pepper\u 19/examples/dlopen$ls dlopen.cc dlopen.html eightball.cc eightball.h make.bat Makefile'