0
我正在从Cygwin构建一个项目。除此之外,GCC编译器创建依赖文件,然后调用sed脚本来“修复”依赖文件。Sed脚本在类似平台上的行为不同
后脚本完成后,在一个系统的相关文件包含作为例子,这样的:
src/man/man.o: \[LF]
../include/debug.h \[LF]
../include/sys.h ../include/types.h \[LF]
,并在另一个系统行尾由脚本改为:
src/man/man.o: /[CR][LF]
../include/debug.h /[CR][LF]
../include/sys.h ../include/types.h /[CR][LF]
正斜线和[CR][LF]
的第二种情况打破了构建。
为什么脚本的行为不同?
这里是至关重要的sed行:
@sed -i -e's/\\\(.\)/\/\1/g' $(@:.o=.d) ;\
谁能破译为什么它依赖于系统的?
你说得对,结尾[CR]混淆了脚本。毕竟,它看起来像我的DOS风格的行结尾是根本原因,我仍然需要找出为什么我的系统行结尾是不同的。 – Danijel