我用Makefile编译了源代码,我得到了Makefile错误:
/bin/sh: line 8: : command not found
make: *** [lib_build] Error 127
我的lib_build目标如下:
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中哪一行正好发生了这种问题。如果没有办法,就很难发现这类问题。
答案 0 :(得分:0)
我建议重组命令。在编写规则时,它会忽略所有错误,因为这就是shell的工作原理。至少将set -e
添加到这个shell命令序列中。
答案 1 :(得分:0)
更多的思维调整,如果发现任何语法错误,我找到解决方案,在Makefile中的一行之后有一个空格即。在" /"
之后cd $(VZW_SYNCML_DIR)/src/bld/linux ; \
虽然空间不可见,但很难发现。