仍是先貼的圖出來,看看我遇到的錯誤:
![]() make (e=3):系統找不到指定的路徑(亂碼內容) 剛開始,發現這個問題的時候,我懷疑是個人環境的問題,在網上也有人說是環境的問題,可是通過屢次的確認和測試,證實了個人環境好像沒有問題(根據我我的的判斷),但到底是什麼問題? 在我沒有找到我環境的問題的時候,我找到了另外一種解決問題的方法。不過不夠靈活,但至少能夠進行下去。 ★:個人環境是根據網上衆多高手的貼子製做成功的,並且也通過安裝過別的開發包,是沒有問題的。 如今,咱們分析一下,錯誤出現的緣由。 首先,要知道CreateProcess是幹什麼的? 顧名思義,他是用來創建一個新的process得。他應該是windows得一個API函數,可是要在msys得仿linux命令行裏對他進行調用,可是 這裏給CreateProcess傳遞的參數則是這樣的:「/bin/install -c -m 755 sdl-config d:/mingw/bin/sdl-config」,很顯然,這個參數中"/bin/install"的這個命令用的路徑方法測試linux得方法。可是 windows得API函數可以認識他的這樣的路徑方法嗎?很顯然,不行!!!那就要想辦法解決這個問題了。 接着,就是尋找/bin/install -c -m 755 sdl-config d:/mingw/bin/sdl-config,這個東西,是如何傳遞過去的? 免不了,要看看SDL的makefile文件了, ★:我是在SDL 官方網下載的源代碼,版本是1.2.13 ①,剛開始我執行的配置命令是這樣的: configure --prefix=/mingw ②,編譯命令:make ③,安裝命令:make install 就是在執行安裝的時候出現了錯誤。 問題就出如今Makefile裏,以下: SHELL = D:/msys/bin/sh CC = gcc INCLUDE = -I./include CFLAGS = -g -O2 EXTRA_CFLAGS = -I./include -D_GNU_SOURCE=1 LDFLAGS = EXTRA_LDFLAGS = -lm -luser32 -lgdi32 -lwinmm LIBTOOL = $(SHELL) $(top_builddir)/libtool INSTALL = /bin/install -c #( Makefile的第29行) NASM = -f win32 AR = ar RANLIB = ranlib WINDRES = windres 這個 INSTALL 文件之後的好多地方都使用到了(凡有安裝文件的地方),它的直就是傳遞給CreateProcess這個windows的API函數。故此,出現了問題。 最後,問題的解決方法, 可能還有其餘的更好的解決方法,可是我如今僅僅找到了,這一種若是那位大俠有別的解決方法,歡迎指教. 把 INSTALL = /bin/install -c 改成 INSTALL = D:/msys/1.0/bin/install -c ★:具體install命令的路徑就要看你安裝的環境而定了。 好了,就是這樣的,如此一來你就能夠順利安裝了。 不過,我解決這個問題之後,有出來了一個新的問題,我將在下篇文章中說明。 ★★★:最後,有另外的解決方法,我也嘗試是能夠的。 以下描述: 在安裝mingw32得時候會有一個mingw32-make.exe文件,但默認是不安裝的。 但在安裝msys得時候也有一個相同功能的make.exe文件。 若是用mingw32-make.exe就會發生上邊所述的錯誤,可是用msys得make得時候就不會出現上邊的狀況。 ★★:歡迎轉載,引用請標註出處,謝謝! |