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