Makefile 生成文件错误:127
我用Makefile编译了源代码,我得到了Makefile错误:Makefile 生成文件错误:127,makefile,automake,makefile-project,Makefile,Automake,Makefile Project,我用Makefile编译了源代码,我得到了Makefile错误: /bin/sh: line 8: : command not found make: *** [lib_build] Error 127 我的lib_构建目标如下: lib_build: @echo "--------------------------------------------------------------------"; @echo "VZW Compiling DM Agent 3rd p
/bin/sh: line 8: : command not found
make: *** [lib_build] Error 127
我的lib_构建目标如下:
lib_build:
@echo "--------------------------------------------------------------------";
@echo "VZW Compiling DM Agent 3rd party and native Libraries..." ;
@echo "--------------------------------------------------------------------";
mkdir -p $(VZW_LIB_DIR) ; \
mkdir -p $(VZW_BIN_DIR) ; \
mkdir -p $(VZW_SCR_DIR) ; \
mkdir -p $(VZW_CFG_DIR) ; \
mkdir -p $(VZW_OBJ_DIR) ; \
mkdir -p $(VZW_LOG_DIR) ; \
cd $(VZW_BASE_DIR)/lib/ ; \
make all ; \
cd $(VZW_SYNCML_DIR)/src/bld/linux ; \
make all;
cp -r $(VZW_SYNCML_DIR)/bin/linux/libsml.so $(VZW_LIB_DIR) ;
cp -r $(VZW_SYNCML_DIR)/bin/linux/libxpt.so $(VZW_LIB_DIR) ;
cp -r $(VZW_BASE_DIR)/3rd_party/iksemel-1.4/src/.libs/* $(VZW_LIB_DIR) ;
它工作得很好,然后我尝试修改上面源代码中的一些行,后来恢复了所有内容。然后出了点问题,我犯了错误。我不明白出了什么问题
还有一件事要补充。有没有办法知道这种问题发生在Makefile中的哪一行。如果没有办法,那么很难发现此类问题。我建议重新构造命令。在编写规则时,它会忽略所有错误,因为shell就是这样工作的。至少在这个shell命令序列中预先添加了
set-e
。再仔细调整一下,看看是否有语法错误,我发现了一个解决方案,即在Makefile中的一行后面有一个空格,即“/”
这很难发现,因为空格不可见。源代码上方的
是什么意思?
?你确定缩进没问题吗?在生成文件的情况下,制表符
和空格
之间存在显著差异。@Sathish上面的源代码是指显示的生成文件代码。@Saurav我已经检查了生成文件中的缩进数百次。(制表符和空格)Make输出它执行的每个命令(如果没有被@
符号抑制)。它最后打印的命令是什么?您能在shell中手动执行它吗?您的意思是我可以使用此命令找到问题所在的确切行吗?@Sarwanset-e
会导致bash在出现第一个错误时停止执行进一步的命令。
cd $(VZW_SYNCML_DIR)/src/bld/linux ; \