当我在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 env
变量已正确设置为C:\python27
。编译我的同事代码时,我得到了相同的结果,我可以在Mac或Linux机器上编译。不幸的是,我也需要在我的Cygwin环境中使用它。
任何有使用谷歌原生客户端经验的人或者知道为什么会发生这种情况请告知。我已经这么久了,我盯着电脑屏幕盯着他看。
更新:
如果我在makefile中的引用命令中插入--version
标志,我会收到与上面相同的错误。但是,如果我按照与make文件相同的工作目录键入命令,则会得到以下内容:
mparadis @ A-082-MPARADI-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-MPARADI-0~ / pepper_19 / examples / dlopen $
换句话说,它只是想一瞬间,然后返回提示符。
答案 0 :(得分:0)
tl;dr: cygwin 可能错误并提供此返回码 到所有批处理文件 。我这样做。我的cygwin版本:
$ uname -srv
CYGWIN_NT-6.1-WOW64 1.7.17(0.262/5/3) 2012-10-19 14:39
根据您的评论,我看到名为“ make.bat ”的内容:
mparadis@A-082-MPARADI-0 ~/pepper_19/examples/dlopen
$ ls dlopen.cc dlopen.html eightball.cc eightball.h make.bat Makefile
你也可以用这个小的 bash 脚本来测试你的cygwin ..
#!/bin/bash
echo echo foo %errorlevel% bar >temp.bat
./temp.bat
if [ $? -eq 127 ]; then echo "bug"; fi
如果你对该目标的make配方使用make.bat
,并且你有这个bug,那么这个cygwin错误就会导致错误127