Ciao a tutti,
Ho un grosso problema. Sto cercando di installare un encoder video 264 (JM 15,1, da
H.264/AVC JM Codice Software Download) Su OS X 10.5.5.
Prima di tutto ho dovuto disabilitare la compilazione statica, a causa di questo errore:
Codice:
ld_classic: can't locate file for: -lcrt0.o
Ho letto su questo forum e su alcuni disabili compilazione statica nel Makefile ed è stato risolto. Ora ho questo errore:
Codice:
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
e qui il Makefile:
Codice:
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. Ho trovato cercato per questo errore e sembra che le altre persone è risolto aggiornando il Xcode a 3.1.2. Ma la mia versione di Xcode 3.1.2! Ho reinstallato un paio di volte e ancora ottenere lo stesso errore. Forse è perché ho installato su questo MacPorts poche settimane fa, ed è disinstallato? Forse non mi suppone di installare il "pacchetto di sviluppo di Unix" nel Xcode?
2. Ho provato ad aggiungere il LDFLAG nel Makefile, con
-read_only_relocs reprimere e non sono sicuro che ho messo al posto giusto, e non so se questo è anche dovuto lavorare. Comunque quando ho aggiunto che diesn't lavoro.
Qualcuno ha qualche idea? Se no, qualcuno può provare a costruire JM da quel link e vedere se arriva lo stesso problema? Sono fuori di idee.
Molte grazie.