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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Si vous avez besoin du code d'un des fichiers, je me ferrai un plaisir de vous le copier ici.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Merci d'avance à tous pour votre aide.
A bientôt
*Serval
Partager