按照http://mameworld.info/mrdo/compile.html的指导方法进行GCC版本的MAME编译没有任何问题,顺利编译通过.
但是使用http://mamedev.org/devwiki/index.php/Building_MAME_using_Microsoft_Visual_Studio_compilers上的方法进行VC++2005版本的编译时出现了一些问题,比如,提示:objvwindowsdbuildvconv.exe找不到, 还有 MTD,EHsc等是是无效的命令等.
最后发现将我机器上装的另一版本的Mingw和mysys从系统环境变量path中除去,使用MAME指定的版本进行编译,再在src/osd/windows/windows.mak中将CC = @$(VCONV) gcc -I修改成CC = @$(VCONV) gcc,将”CCOMFLAGS += -include $(WINSRC)/winprefix.h”修改成”CCOMFLAGS += -include winprefix.h”,然后编译通过.
如果是生成tiny版本,第一次编译到devlist.c时会失败,因为msvc不支持定义空数组初使化,所以需要修改devlist.c后再进行编译,将const device_type *s_devices_sorted[]={};更改成const device_type *s_devices_sorted[]={NULL};即可