[Solaris] édition de lien gcc
Bonjour à tous,
J'ai un petit projet de simulation d'ascensceur dans le cadre de mon cours de C.
Le but du projet est de se familiariser avec les threads et les processus.
Nous travaillons sur un serveur Sun Fire T2000 avec 8core supportant chacun jusqu'à 4 threads. Nous sommes donc sous solaris.
Pour l'instant j'ai un fichier main.c, un fichier call.c, un fichier call.h que j'ai fait ainsi qu'un fichier arrivals.o et un arrivals.h que j'ai recu dans l'énoncé.
La main appelle la fonction start() de arrivals qui créé un processus fils qui va faire des appels à la fontion call() de call.
Seulement j'ai quelque problèmes à la compilation avec gcc.
Voici le message d'erreur :
Code:
1 2 3 4 5 6
| gcc -o simulateur src/main.o src/call.o src/arrivals.o
ld: fatal: file src/main.o: wrong ELF machine type: EM_386
ld: fatal: File processing errors. No output written to simulateur
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `simulateur' |
Voici mon makefile :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| CC=gcc
CFLAGS=-Wall -Werror -ansi -pedantic
LDFLAGS=
EXEC=simulateur
SRC= src/main.c src/call.c
OBJ= $(SRC:.c=.o)
all: $(EXEC)
simulateur: $(OBJ)
$(CC) -o $@ $^ src/arrivals.o $(LDFLAGS)
%.o: %.c
$(CC) -o $@ -c $< $(CFLAGS)
.PHONY: clean mrproper
clean:
rm -rf *.o
mrproper: clean
rm -rf $(EXEC) |
Si vous avez besoin du code d'un des fichiers, je me ferrai un plaisir de vous le copier ici.
Merci d'avance à tous pour votre aide.
A bientôt
*Serval