还是先贴的图出来,看看我遇到的错误:
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得时候就不会出现上边的情况。 ★★:欢迎转载,引用请标注出处,谢谢! |