Jpcsp 运行了两次,突然不能运行了。
时间:2011-07-05
来源:互联网
这段时间在做嵌入式linux的开发,开发板为Intel PXA270,用的arm-linux-gcc的交叉编译环境。
在编译PCSX4all时出现以下错误:
Compiling src/r3000a.cpp...
/home/gcc/arm-linux-gcc/bin/g++ -march=armv5t -mtune=xscale -mfpu=vfp -O3 -Os `sdl-config --cflags` -D__ARM_EABI__ -Isrc -Isrc/zlib -Isrc/spu/spu_franxis -Dspu_franxis -Isrc/gpu/gpu_unai -Dgpu_unai -Dinterpreter_new -Darm -Dgte_new -Isrc/port/sdl -Isrc/gte/gte_new -DXA_HACK -DBIOS_FILE=\"scph1001.bin\" -DMCD1_FILE=\"mcd001.mcr\" -DMCD2_FILE=\"mcd002.mcr\" -D__arm__ -DWIZ -DINLINE="static __inline" -Dasm="__asm__ __volatile__" -Wshadow -DPSXREC -msoft-float -ffast-math -fomit-frame-pointer -fstrict-aliasing -mstructure-size-boundary=32 -fexpensive-optimizations -fweb -frename-registers -falign-functions=32 -falign-loops -falign-labels -falign-jumps -finline -finline-functions -fno-common -fno-builtin -Wall -Wno-sign-compare -Wunused -Wpointer-arith -Wcast-align -Waggregate-return -c src/r3000a.cpp -o obj/r3000a.o
/bin/sh: line 1: /home/gcc/arm-linux-gcc/bin/g++: cannot execute binary file
make: *** [obj/r3000a.o] Error 126
究竟是什么问题呢?
在编译PCSX4all时出现以下错误:
Compiling src/r3000a.cpp...
/home/gcc/arm-linux-gcc/bin/g++ -march=armv5t -mtune=xscale -mfpu=vfp -O3 -Os `sdl-config --cflags` -D__ARM_EABI__ -Isrc -Isrc/zlib -Isrc/spu/spu_franxis -Dspu_franxis -Isrc/gpu/gpu_unai -Dgpu_unai -Dinterpreter_new -Darm -Dgte_new -Isrc/port/sdl -Isrc/gte/gte_new -DXA_HACK -DBIOS_FILE=\"scph1001.bin\" -DMCD1_FILE=\"mcd001.mcr\" -DMCD2_FILE=\"mcd002.mcr\" -D__arm__ -DWIZ -DINLINE="static __inline" -Dasm="__asm__ __volatile__" -Wshadow -DPSXREC -msoft-float -ffast-math -fomit-frame-pointer -fstrict-aliasing -mstructure-size-boundary=32 -fexpensive-optimizations -fweb -frename-registers -falign-functions=32 -falign-loops -falign-labels -falign-jumps -finline -finline-functions -fno-common -fno-builtin -Wall -Wno-sign-compare -Wunused -Wpointer-arith -Wcast-align -Waggregate-return -c src/r3000a.cpp -o obj/r3000a.o
/bin/sh: line 1: /home/gcc/arm-linux-gcc/bin/g++: cannot execute binary file
make: *** [obj/r3000a.o] Error 126
究竟是什么问题呢?
作者: feixiangboji 发布时间: 2011-07-05
Linux内核版本:2.4.20
ARM-LINUX-GCC版本:3.2.2
makefile如下:
TARGET = bin/pcsx4all
FRONTEND = bin/frontend
PORT = sdl
#GPU = gpu_dfxvideo
#GPU = gpu_drhell
#GPU = gpu_null
GPU = gpu_unai
#SPU = spu_dfxsound
#SPU = spu_null
SPU = spu_franxis
#INTERPRETER = interpreter_pcsx
INTERPRETER = interpreter_new
#RECOMPILER = arm_old
RECOMPILER = arm
#GTE = gte_pcsx
GTE = gte_new
RM = rm -f
CROSS = /home/gcc/arm-linux-gcc
CC = $(CROSS)/bin/gcc
CPP = $(CROSS)/bin/g++
LD = $(CROSS)/bin/g++
MD = @mkdir
RM = @rm -f
DEVLIBS =
BIOS_FILE = \"scph1001.bin\"
MCD1_FILE = \"mcd001.mcr\"
MCD2_FILE = \"mcd002.mcr\"
#
CFLAGS = -march=armv5t -mtune=xscale -mfpu=vfp -O3 -Os `sdl-config --cflags` $(DEVLIBS) -D__ARM_EABI__ \
-Isrc -Isrc/zlib -Isrc/spu/$(SPU) -D$(SPU) -Isrc/gpu/$(GPU) -D$(GPU) -D$(INTERPRETER) -D$(RECOMPILER) -D$(GTE) -Isrc/port/$(PORT) -Isrc/gte/$(GTE) \
-DXA_HACK -DBIOS_FILE=$(BIOS_FILE) -DMCD1_FILE=$(MCD1_FILE) -DMCD2_FILE=$(MCD2_FILE) \
-D__arm__ -DWIZ -DINLINE="static __inline" -Dasm="__asm__ __volatile__" -Wshadow -DPSXREC \
-msoft-float -ffast-math -fomit-frame-pointer -fstrict-aliasing \
-mstructure-size-boundary=32 -fexpensive-optimizations \
-fweb -frename-registers -falign-functions=32 -falign-loops -falign-labels -falign-jumps \
-finline -finline-functions -fno-common -fno-builtin \
-Wall -Wno-sign-compare -Wunused -Wpointer-arith -Wcast-align -Waggregate-return
# -fsigned-char
# -Wstrict-prototypes -Wbad-function-cast
# -Wshadow
#CFLAGS += -DPROFILER_PCSX4ALL
#CFLAGS += -DPROFILER_PCSX4ALL_RESET=8000
#CFLAGS += -DDEBUG_PCSX4ALL
#CFLAGS += -DDEBUG_PCSX4ALL_FFLUSH
#CFLAGS += -DDEBUG_START=3438
#CFLAGS += -DDEBUG_START=0
#CFLAGS += -DDEBUG_CPU
#CFLAGS += -DDEBUG_CPU_OPCODES
#CFLAGS += -DDEBUG_FRAME
#CFLAGS += -DAUTOEVENTS
#CFLAGS += -DAUTOEVENTS_MAX=8500
LDFLAGS = -s
OBJDIRS = obj obj/gpu obj/gpu/$(GPU) obj/spu obj/spu/$(SPU) obj/interpreter obj/interpreter/$(INTERPRETER) obj/recompiler obj/recompiler/$(RECOMPILER) obj/zlib obj/port obj/port/$(PORT) obj/gte obj/gte/$(GTE)
all: maketree $(TARGET)
OBJS = obj/r3000a.o obj/misc.o obj/plugins.o obj/psxmem.o obj/psxhw.o obj/psxcounters.o \
obj/psxdma.o obj/psxbios.o obj/psxhle.o obj/interpreter/$(INTERPRETER)/psxinterpreter.o obj/recompiler/$(RECOMPILER)/recompiler.o obj/recompiler/$(RECOMPILER)/run.o obj/gte/$(GTE)/gte.o obj/mdec.o \
obj/decode_xa.o obj/cdriso.o obj/cdrom.o obj/sio.o obj/pad.o
OBJS += obj/gpu/$(GPU)/gpu.o obj/port/sdl/frontend.o
ifneq ($(strip $(findstring arm,$(CFLAGS))),)
ifneq ($(strip $(findstring gpu_unai,$(GPU))),)
CFLAGS +=
endif
endif
OBJS += obj/spu/$(SPU)/spu.o
OBJS += obj/zlib/adler32.o obj/zlib/compress.o obj/zlib/crc32.o obj/zlib/gzio.o \
obj/zlib/uncompr.o obj/zlib/deflate.o obj/zlib/trees.o obj/zlib/zutil.o \
obj/zlib/inflate.o obj/zlib/infblock.o obj/zlib/infcodes.o obj/zlib/inftrees.o \
obj/zlib/inffast.o obj/zlib/infutil.o
OBJS += obj/port/sdl/port.o
OBJS += obj/profiler.o obj/debug.o
$(TARGET): $(OBJS)
$(LD) $(CFLAGS) $(LDFLAGS) $(OBJS) `sdl-config --libs` -lSDL -lm -o $@
arm-linux-gnueabi-strip $(TARGET)
obj/recompiler/arm/recompiler.o: src/recompiler/arm/arm.h src/recompiler/arm/opcodes.h \
src/recompiler/arm/rec_alu.h src/recompiler/arm/rec_branch.h src/recompiler/arm/rec_gte.h \
src/recompiler/arm/rec_mem.h src/recompiler/arm/rec_misc.h src/recompiler/arm/recompiler.cpp \
src/recompiler/arm/risc_armv4le.h
obj/%.o: src/%.c
@echo Compiling $<...
$(CC) $(CFLAGS) -c $< -o $@
obj/%.o: src/%.cpp
@echo Compiling $<...
$(CPP) $(CFLAGS) -c $< -o $@
obj/%.o: src/%.s
@echo Compiling $<...
$(CPP) $(CFLAGS) -c $< -o $@
obj/%.o: src/%.S
@echo Compiling $<...
$(CPP) $(CFLAGS) -c $< -o $@
$(sort $(OBJDIRS)):
$(MD) $@
maketree: $(sort $(OBJDIRS))
clean:
rm -f $(OBJS)
rm -f $(TARGET)
FOBJS = obj/port/sdl/frontend.o
$(FRONTEND): $(FOBJS)
$(LD) $(CFLAGS) $(LDFLAGS) $(FOBJS) `sdl-config --libs` -lSDL -lm -o $@
ARM-LINUX-GCC版本:3.2.2
makefile如下:
TARGET = bin/pcsx4all
FRONTEND = bin/frontend
PORT = sdl
#GPU = gpu_dfxvideo
#GPU = gpu_drhell
#GPU = gpu_null
GPU = gpu_unai
#SPU = spu_dfxsound
#SPU = spu_null
SPU = spu_franxis
#INTERPRETER = interpreter_pcsx
INTERPRETER = interpreter_new
#RECOMPILER = arm_old
RECOMPILER = arm
#GTE = gte_pcsx
GTE = gte_new
RM = rm -f
CROSS = /home/gcc/arm-linux-gcc
CC = $(CROSS)/bin/gcc
CPP = $(CROSS)/bin/g++
LD = $(CROSS)/bin/g++
MD = @mkdir
RM = @rm -f
DEVLIBS =
BIOS_FILE = \"scph1001.bin\"
MCD1_FILE = \"mcd001.mcr\"
MCD2_FILE = \"mcd002.mcr\"
#
CFLAGS = -march=armv5t -mtune=xscale -mfpu=vfp -O3 -Os `sdl-config --cflags` $(DEVLIBS) -D__ARM_EABI__ \
-Isrc -Isrc/zlib -Isrc/spu/$(SPU) -D$(SPU) -Isrc/gpu/$(GPU) -D$(GPU) -D$(INTERPRETER) -D$(RECOMPILER) -D$(GTE) -Isrc/port/$(PORT) -Isrc/gte/$(GTE) \
-DXA_HACK -DBIOS_FILE=$(BIOS_FILE) -DMCD1_FILE=$(MCD1_FILE) -DMCD2_FILE=$(MCD2_FILE) \
-D__arm__ -DWIZ -DINLINE="static __inline" -Dasm="__asm__ __volatile__" -Wshadow -DPSXREC \
-msoft-float -ffast-math -fomit-frame-pointer -fstrict-aliasing \
-mstructure-size-boundary=32 -fexpensive-optimizations \
-fweb -frename-registers -falign-functions=32 -falign-loops -falign-labels -falign-jumps \
-finline -finline-functions -fno-common -fno-builtin \
-Wall -Wno-sign-compare -Wunused -Wpointer-arith -Wcast-align -Waggregate-return
# -fsigned-char
# -Wstrict-prototypes -Wbad-function-cast
# -Wshadow
#CFLAGS += -DPROFILER_PCSX4ALL
#CFLAGS += -DPROFILER_PCSX4ALL_RESET=8000
#CFLAGS += -DDEBUG_PCSX4ALL
#CFLAGS += -DDEBUG_PCSX4ALL_FFLUSH
#CFLAGS += -DDEBUG_START=3438
#CFLAGS += -DDEBUG_START=0
#CFLAGS += -DDEBUG_CPU
#CFLAGS += -DDEBUG_CPU_OPCODES
#CFLAGS += -DDEBUG_FRAME
#CFLAGS += -DAUTOEVENTS
#CFLAGS += -DAUTOEVENTS_MAX=8500
LDFLAGS = -s
OBJDIRS = obj obj/gpu obj/gpu/$(GPU) obj/spu obj/spu/$(SPU) obj/interpreter obj/interpreter/$(INTERPRETER) obj/recompiler obj/recompiler/$(RECOMPILER) obj/zlib obj/port obj/port/$(PORT) obj/gte obj/gte/$(GTE)
all: maketree $(TARGET)
OBJS = obj/r3000a.o obj/misc.o obj/plugins.o obj/psxmem.o obj/psxhw.o obj/psxcounters.o \
obj/psxdma.o obj/psxbios.o obj/psxhle.o obj/interpreter/$(INTERPRETER)/psxinterpreter.o obj/recompiler/$(RECOMPILER)/recompiler.o obj/recompiler/$(RECOMPILER)/run.o obj/gte/$(GTE)/gte.o obj/mdec.o \
obj/decode_xa.o obj/cdriso.o obj/cdrom.o obj/sio.o obj/pad.o
OBJS += obj/gpu/$(GPU)/gpu.o obj/port/sdl/frontend.o
ifneq ($(strip $(findstring arm,$(CFLAGS))),)
ifneq ($(strip $(findstring gpu_unai,$(GPU))),)
CFLAGS +=
endif
endif
OBJS += obj/spu/$(SPU)/spu.o
OBJS += obj/zlib/adler32.o obj/zlib/compress.o obj/zlib/crc32.o obj/zlib/gzio.o \
obj/zlib/uncompr.o obj/zlib/deflate.o obj/zlib/trees.o obj/zlib/zutil.o \
obj/zlib/inflate.o obj/zlib/infblock.o obj/zlib/infcodes.o obj/zlib/inftrees.o \
obj/zlib/inffast.o obj/zlib/infutil.o
OBJS += obj/port/sdl/port.o
OBJS += obj/profiler.o obj/debug.o
$(TARGET): $(OBJS)
$(LD) $(CFLAGS) $(LDFLAGS) $(OBJS) `sdl-config --libs` -lSDL -lm -o $@
arm-linux-gnueabi-strip $(TARGET)
obj/recompiler/arm/recompiler.o: src/recompiler/arm/arm.h src/recompiler/arm/opcodes.h \
src/recompiler/arm/rec_alu.h src/recompiler/arm/rec_branch.h src/recompiler/arm/rec_gte.h \
src/recompiler/arm/rec_mem.h src/recompiler/arm/rec_misc.h src/recompiler/arm/recompiler.cpp \
src/recompiler/arm/risc_armv4le.h
obj/%.o: src/%.c
@echo Compiling $<...
$(CC) $(CFLAGS) -c $< -o $@
obj/%.o: src/%.cpp
@echo Compiling $<...
$(CPP) $(CFLAGS) -c $< -o $@
obj/%.o: src/%.s
@echo Compiling $<...
$(CPP) $(CFLAGS) -c $< -o $@
obj/%.o: src/%.S
@echo Compiling $<...
$(CPP) $(CFLAGS) -c $< -o $@
$(sort $(OBJDIRS)):
$(MD) $@
maketree: $(sort $(OBJDIRS))
clean:
rm -f $(OBJS)
rm -f $(TARGET)
FOBJS = obj/port/sdl/frontend.o
$(FRONTEND): $(FOBJS)
$(LD) $(CFLAGS) $(LDFLAGS) $(FOBJS) `sdl-config --libs` -lSDL -lm -o $@
作者: feixiangboji 发布时间: 2011-07-05
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28