Bonjour a tous,
Voila, j'ai une erreur étrange de "Undefined reference to memcpy()".
Pour info, je l'utilise pour copier des données depuis un socket...
Donc je ne comprends pas vraiment d'ou vient le problème. Puisque je pense avoir fait les bons include.
Voici mes includes:
Rien de bien sorcier...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #include <winsock2.h> #include <stdio.h> #include <string.h>
De plus pour ma librairie, j'ai juste un fichier .h et un .c
Je compile avec MinGW (donc gcc) sous Windows.
Il s'agit de compiler une librairie statique. Voici le makefile :
J'avoue ne pas être expert en Makefile mais je pense que ce que j'ai fait reviens à une compilation normale : jusqu'a l'utilisation de memcpy, j'arrivais a compiler ma librairie et à l'utiliser ailleurs...
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
23
24
25
26
27
28
29
30
31
32
33
34 # Compiler/Linker CC = C:\MinGW\bin\gcc.exe LD = C:\MinGW\bin\ld.exe CP = copy CFLAGS = -Wall # Archiver and indexer AR = C:\MinGW\bin\ar.exe RANLIB = C:\MinGW\bin\ranlib.exe # files removal RM = del LIB_OBJ = SkSocket.o LIB_FILE = libSkSocket.a LIB_DIR =-LC:\MinGW\lib\ LIBS = -lwsock32 INCLUDE = -IC:\MinGW\include\ all: $(LIB_FILE) clean # compilation de la librairie $(LIB_FILE): $(LIB_OBJ) $(AR) rc $(LIB_FILE) $(LIB_OBJ) $(RANLIB) $(LIB_FILE) $(LIB_OBJ): SkSocket.c $(CC) $(INCLUDE) -o $(LIB_OBJ) -c SkSocket.c $(LD) $(LIB_OBJ) $(LIB_DIR) $(LIBS) clean: $(RM) $(LIB_OBJ) $(PROG_OBJ)
PS : j'ai remarqué que j'avais les même soucis pour des fonctions "classiques" du style strlen, strcmp... même en incluant les bons fichiers h...
PS 2 : chose surprenante, il me met un "Warning, no new line at end of file SkSocket.c" alors que j'ai bien des sauts de lignes....un symptôme peut être ?
Que faire ?
Merci de votre aide
Partager