Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/06/2014, à 14:09

miks3132

Problème d'installation de paquets avec Makefile

Bonjour help !

Pour la 1ère fois j'essaye cette methode (ces paquets ne s'installent qu'avec Makefile), et bien sûr, (Linux == ça_n'est_jamais_simple) = True.

-1ère étape, apparemment pas de pb :

make -f Makefile.Linux
/usr/bin/gcc -Wall $(/usr/bin/sdl-config --cflags) -O3 -c *.car rcs libSDL_layer.a *.o
/usr/bin/gcc -Wall $(/usr/bin/sdl-config --cflags) -O3 -fPIC -c *.c
/usr/bin/gcc -shared -o libSDL_layer.so *.o $(/usr/bin/sdl-config --libs)

-2ème étape : hé merde...:

sudo make install
/usr/bin/gcc -Wall $(/usr/bin/sdl-config --cflags) -O3 -c *.c
ar rcs libSDL_layer.a *.o
/usr/bin/gcc -Wall $(/usr/bin/sdl-config --cflags) -O3 -fPIC -c *.c
/usr/bin/gcc -dynamiclib -o libSDL_layer.dylib *.o $(/usr/bin/sdl-config --libs)
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
make: *** [all-dynamic] Erreur 1

Quelqu'un pourrait m'expliquer ce ce signifient ces messages d'erreur, je ne comprends pô !! Voici le fichier Makefile :   (Merci d'avance !!!)

# Change the install prefix
# if necessary
INSTALL_PATH=/usr/local

sdlconfig=$(shell which sdl-config)
gcc=$(shell which gcc)

ifeq ($(sdlconfig),)
$(error "I need sdl-config to compile")
endif

ifeq ($(gcc),)
$(error "I need gcc to compile")
endif

cflags=-Wall $$($(sdlconfig) --cflags) -O3
libs=$$($(sdlconfig) --libs)

all: all-static all-dynamic

all-static:
    $(gcc) $(cflags) -c *.c
    ar rcs libSDL_layer.a *.o

all-dynamic:
    $(gcc) $(cflags) -fPIC -c *.c
    $(gcc) -shared -o libSDL_layer.so *.o $(libs)

demos:    all
    \cd demos && $(MAKE)

install: all
    @echo
    @echo Installing all in $(INSTALL_PATH)
    \cp -f SDL_Layer.h      $(INSTALL_PATH)/include/SDL
    \cp -f libSDL_layer.so  $(INSTALL_PATH)/lib
    \cp -f libSDL_layer.a $(INSTALL_PATH)/lib
    @echo "Finished"
    @echo

uninstall:
    @echo
    @echo "Uninstalling all from $(INSTALL_PATH)"
    \rm -f $(INSTALL_PATH)/include/SDL/SDL_Layer.h
    \rm -f $(INSTALL_PATH)/lib/libSDL_layer.so
    \rm -f $(INSTALL_PATH)/lib/libSDL_layer.a
    @echo "Finished"
    @echo

doc:
    \doxygen

docclean:
    \rm -Rf doc/html

clean:
    \rm -Rf *.o *.so *.a

.PHONY: demos doc

Hors ligne

#2 Le 13/06/2014, à 11:47

bishop.sad.clown

Re : Problème d'installation de paquets avec Makefile

j'me demande si, comme tu as passé en argument un makefile spécifique pour la compilation, tu ne devrais pas aussi le faire pour l'installation:

sudo make -f Makefile.Linux install 

@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ

Hors ligne