Makefile et i586-mingw32msvc-c++
Résolu
Bonsoir/Bonjour,
Je bataille avec mon fichier makefile depuis une bonne semaine. Mon programme est en c++. C'est un serveur que j'ai créé à l'aide de la bibliothèque Mongoose.
J'ai installé mingw32 sur mon OS 10.11 alternate i386 afin de compiler le programme.
Voici mon Makefile :
Maintenant le résultat de la compilation:
libs/mongoose.c:3918: error: '_strtoi64' was not declared in this scope
make: *** [MyServer.exe] Erreur 1
J'ai la même erreur lorsque j'utilise le compilateur 586-mingw32msvc-g++. Par contre, le compilateur 586-mingw32msvc-cpp m'indique la chose suivante : "586-mingw32msvc-cpp: too many input files".
Je bataille avec mon fichier makefile depuis une bonne semaine. Mon programme est en c++. C'est un serveur que j'ai créé à l'aide de la bibliothèque Mongoose.
J'ai installé mingw32 sur mon OS 10.11 alternate i386 afin de compiler le programme.
Voici mon Makefile :
SRC = libs/mongoose.c\
Configuration.cpp\
Logger.cpp\
NAME = MyServer.exe
FUNC = sort
OBJ = $(SRC:.cpp=.o)
CC = i586-mingw32msvc-c++
ULTRASTRICT = -ansi -Werror -Wstrict-prototypes
LDFLAGS += -O0 -g3 -Wall -fmessage -length=0 -fpermissive -Wunued -function
ifndef UNAME
UNAME := "Msys"
endif
ifeq ($(UNAME), "Msys")
PREFLAGS = "-LC:\\MinGW\\lib"
CFLAGS = -lws2_32
PLATFORM =
else
PREFLAGS =
CFLAGS =
PLATFORM =
endif
$(NAME) : $(OBJ) $(CC) $(PREFLAGS) -o $(NAME) $(OBJ) $(LDFLAGS) $(CFLAGS) $(PLATFORM)
all : $(NAME)
fclean : rm *.o
re : all fclean
echo : @echo $(UNAME)
.PHONY : all re fclean
.SUFFIXES : .cpp.o
Maintenant le résultat de la compilation:
libs/mongoose.c:3918: error: '_strtoi64' was not declared in this scope
make: *** [MyServer.exe] Erreur 1
J'ai la même erreur lorsque j'utilise le compilateur 586-mingw32msvc-g++. Par contre, le compilateur 586-mingw32msvc-cpp m'indique la chose suivante : "586-mingw32msvc-cpp: too many input files".
A voir également:
- Makefile et i586-mingw32msvc-c++
- C'est quoi un Makefile ? - Forum Linux / Unix
- Makefile séparateur manquant - Forum Programmation
- Separateur de millier ✓ - Forum MySQL
- Compiler un programme java avec un makefile - Forum Java
- Télécharger une image iso mandriva 2009.1 i586 ✓ - Forum Autres distributions Linux
3 réponses
Bah visiblement _strtoi64 est une fonction spécifique à windows, donc ton code ne peut pas compiler en tant que tel. Il faut adapter le code à cet endroit :
https://stackoverflow.com/questions/7388410/how-to-cross-platform-converting-char-to-long-long-64-bit
Bonne chance
https://stackoverflow.com/questions/7388410/how-to-cross-platform-converting-char-to-long-long-64-bit
Bonne chance