Bonjour, commençons par un bref exposé de mon soucis :
-J'essaye de compiller avec Dev-cpp un programme en C++ pour en faire un executable.
-Le programme lui est cencé fonctionné, puisque sous les linux scientific du labo, je ne rencontre aucun soucis pour le compiler.
-Cependant sous XP pas moyen d'y arrivé, et mon niveau en programmation étant proche du néant, je n'ai pas les connaissances pour diagnostiquer le problème, j'espère que quelqu'un pourra m'aidé:


le nom du fichier que je veut compiler est : MuonCuveAna.cxx , pour cela j'utilise la fonction ReadDataPico, que je defini avec le fichier UtilsPico.h . J'utilise aussi de nombreuse librairie du programme ROOT du CERN.

je pense que le souci doit venir du makefile, dans la mesure ou du C++ reste du C++ le code qui passe sous linux devrait aussi passer sous windows, mais aprés comme je l'ai dit j'y connait rien. donc je ne pense pas qu'il faille modifier les fichier MuonCuveAna.cxx et Utilspico.h .


Voici le makefile que j'utilise pour compiler, faut-il faire des modif pour le rendre fonctionnelle avec Dev-cpp ? :
(ce makefile est aussi fait pour faire compiler le fichier MuonCuveDisplay.cxx, pour lequel je reçois le même message d'erreur au moment de la compilation)

Citation Envoyé par makefile
ObjSuf = so
SrcSuf = cxx
ExeSuf = exe
ROOTCFLAGS := $(shell root-config --cflags)
ROOTLIBS := $(shell root-config --libs) -lMinuit

CXX = g++
LD = g++
AR = ar -rs
COMP = g
CXXFLAGS = -$(COMP) -Wall -fPIC

CXXFLAGS += $(ROOTCFLAGS)
LIBS = $(ROOTLIBS)

#----------------------------------------------------------------------------
all: $(tp1) $(tp2)

tp1 = MuonAna.exe MuonDisplay.exe
tp2 = MuonCuveDisplay.exe MuonCuveAna.exe

objectstp1 = Utils.o
objectstp2 = UtilsPico.o

inc1 = $(patsubst %.o,%.h,$(objectstp1))
inc2 = $(patsubst %.o,%.h,$(objectstp2))
#----------------------------------------------------------------------------

.SUFFIXES: .$(SrcSuf) .$(ObjSuf) .$(DllSuf) .$(ExeSuf)

$(tp1): %.$(ExeSuf) : %.$(SrcSuf) $(objectstp1) $(inc1)
$(CXX) $(CXXFLAGS) $< -o $@ $(LIBS) $(objectstp1)
@echo "$@ done"

$(tp2): %.$(ExeSuf): %.$(SrcSuf) $(objectstp2) $(inc2)
$(CXX) $(CXXFLAGS) $< -o $@ $(LIBS) $(objectstp2)
@echo "$@ done"

%.o: %.$(SrcSuf) $(inc)
$(CXX) -c $(CXXFLAGS) $< -o $@

clean:
rm -f *.exe *.a *.o *.so
j'ouvre donc une invite de commande sous XP, puis j'utilise la commande :
make MuonCuveAna.exe

et la je reçois le mesage d'erreur :

process_begin: CreateProcess((null), sh C:\Dev-Cpp\bin\root-config --cflag, ...) failed.
process_begin: CreateProcess((null), sh C:\Dev-Cpp\bin\root-config --libs, ...) failed.
g++ -g -Wall -fPIC MuonCuveAna.cxx -o MuonCuveAna.exe -lMinuit UtilsPico.o
MuonCuveAna.cxx:1: warning: -fPIC ignored for target (all code is position independent)
C:\Dev-Cpp\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lMinuit
collect2: ld returned 1 exit status
make: *** [MuonCuveAna.exe] Error 1
Il va de soit que je n'y comprend pas un traitre mots.
La solution est surement toute bête, merci d'avance a ceux qui m'aiderons.