昨天在Msys下用MingW GCC 4.7.0編譯libgmp時遇到一個問題,說找不到"m4 gcc"這個文件。其實一看就知道這是兩個不同的文件,錯誤是由libtool報出的,因此很可能是libtool腳本寫的有問題,或是Windows環境下腳本的解釋有問題。最終查到問題涉及的直接文件是mpn/Makefile,修改其1023行(libgmp版本5.0.4)
原行:
$(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/mpn/m4-ccas --m4="$(M4)" $(CCAS) $(COMPILE_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$<
改爲:
$(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/mpn/m4-ccas --m4=$(M4) $(CCAS) $(COMPILE_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$<
對比一下就知道僅去掉了“”(雙引號),然後就能正常編譯了。爲什麼這樣做就可以我還是不知道!