Hi all,
Ik heb een groot probleem. Ik probeer het installeren van een 264 video-encoder (JM 15.1, van
H.264/AVC JM Reference Software downloaden) Op OS X 10.5.5.
Allereerst moest ik uitschakelen statische opstelling, vanwege deze fout:
Code:
ld_classic: can't locate file for: -lcrt0.o
Ik las over deze op sommige forums en gehandicapten statische opstelling in de Makefile en het was opgelost. Nu krijg ik deze foutmelding:
Code:
creating binary "../bin/lencod.exe"
ld: absolute addressing (perhaps -mdynamic-no-pic) used in _rc_init_GOP from obj/rc_quadratic.o not allowed in slidable image. Use '-read_only_relocs suppress' to enable text relocs
collect2: ld returned 1 exit status
en hier is de Makefile:
Code:
NAME= lencod
### include debug information: 1=yes, 0=no
DBG?= 0
### Generate 32 bit executable : 1=yes, 0=no
M32?= 0
### include O level optimization : 0-3
OPT?= 3
### Static Compilation
STC?= 0
DEPEND= dependencies
BINDIR= ../bin
INCDIR= inc
SRCDIR= src
OBJDIR= obj
ADDSRCDIR= ../lcommon/src
ADDINCDIR= ../lcommon/inc
ifeq ($(M32),1)
CC= gcc -m32
else
CC= gcc
endif
ifeq ($(STC),1)
ifeq ($(DBG),1) ### Do not use static compilation for Debug mode
STC=0
STATIC=
else
STATIC= -static
endif
else
STATIC=
endif
LIBS= -lm $(STATIC)
AFLAGS=
CFLAGS= -std=gnu99 -pedantic -ffloat-store -fno-strict-aliasing -fsigned-char $(STATIC)
FLAGS= $(CFLAGS) -Wall -I$(INCDIR) -I$(ADDINCDIR) -D __USE_LARGEFILE64 -D _FILE_OFFSET_BITS=64
OPT_FLAG = -O$(OPT)
ifeq ($(DBG),1)
SUFFIX= .dbg
FLAGS+= -g
else
SUFFIX=
FLAGS+= $(OPT_FLAG)
endif
OBJSUF= .o$(SUFFIX)
SRC= $(wildcard $(SRCDIR)/*.c)
ADDSRC= $(wildcard $(ADDSRCDIR)/*.c)
OBJ= $(SRC:$(SRCDIR)/%.c=$(OBJDIR)/%.o$(SUFFIX)) $(ADDSRC:$(ADDSRCDIR)/%.c=$(OBJDIR)/%.o$(SUFFIX))
BIN= $(BINDIR)/$(NAME)$(SUFFIX).exe
.PHONY: default distclean clean tags depend
default: messages objdir_mk depend bin
messages:
ifeq ($(M32),1)
@echo 'Compiling with M32 support...'
endif
ifeq ($(DBG),1)
@echo 'Compiling with Debug support...'
@echo 'Note static compilation not supported in this mode.'
endif
ifeq ($(STC),1)
@echo 'Compiling with -static support...'
endif
ifeq ($(MMX),1)
@echo 'Compiling with MMX support...'
endif
clean:
@echo remove all objects
@rm -rf $(OBJDIR)
distclean: clean
@rm -f $(DEPEND) tags
@rm -f $(BIN)
tags:
@echo update tag table
@ctags inc/*.h src/*.c
bin: $(OBJ)
@echo
@echo 'creating binary "$(BIN)"'
@$(CC) $(AFLAGS) -o $(BIN) $(OBJ) $(LIBS)
@echo '... done'
@echo
depend:
@echo
@echo 'checking dependencies'
@$(SHELL) -ec '$(CC) $(AFLAGS) -MM $(CFLAGS) -I$(INCDIR) -I$(ADDINCDIR) $(SRC) $(ADDSRC) \
| sed '\''s@\(.*\)\.o[ :]@$(OBJDIR)/\1.o$(SUFFIX):@g'\'' \
>$(DEPEND)'
@echo
$(OBJDIR)/%.o$(SUFFIX): $(SRCDIR)/%.c
@echo 'compiling object file "$@" ...'
@$(CC) -c -o $@ $(FLAGS) $<
$(OBJDIR)/%.o$(SUFFIX): $(ADDSRCDIR)/%.c
@echo 'compiling object file "$@" ...'
@$(CC) -c -o $@ $(FLAGS) $<
objdir_mk:
@echo 'Creating $(OBJDIR) ...'
@mkdir -p $(OBJDIR)
-include $(DEPEND)
1. Ik heb gezocht naar deze fout en het lijkt erop dat andere mensen dit opgelost door een upgrade naar de Xcode 3.1.2. Maar mijn versie is Xcode 3.1.2! Ik reinstalled het een paar keer en nog steeds dezelfde fout. Misschien is het omdat ik MacPorts geïnstalleerd op deze een paar weken geleden, en uninstalled it?? Misschien ben ik niet verondersteld de "Unix Ontwikkeling pakket" te installeren in de Xcode?
2. Ik heb geprobeerd om de LDFLAG in de Makefile, toe te voegen met
-read_only_relocs onderdrukken en ik ben er niet zeker van dat ik ben brengen het op de juiste plaats, en ik weet niet of dat ook zou moeten werken. Anyway, toen ik toevoegen dat diesn't werk.
Heeft iemand enig idee? Zo niet, kan iemand proberen gebouw JM van die link en zien of ze hetzelfde probleem krijgt? Ik ben van ideeën.
Many thanks.