Bonjour à tous,
Je développe habituellement sous Eclipse (sous linux le plus souvent) et pour une fois je me suis dis que j'allais essayer XCode. Seulement voilà je suis tombé sur un os :/
J'ai un code source très basique :
Sous linux avec Eclipse : rien à signaler (compilation OK, exécution OK)
Sous Mac OS X avec un makefile : rien à signaler (compilation OK, exécution OK)
Sous Mac OS X avec XCode : compilation OK, problème lors de l'exécution pour la partie du code utilisant un string, j'obtiens une erreur de ce genre :
(mais le programme ne quitte pas)
(NB : la partie avec char* fonctionne parfaitement)
J'en déduis donc qu'il s'agit d'un problème de configuration/réglage de XCode mais je ne parviens pas à comprendre d'où vient le problème.
Pour la compilation "à la mano" (qui donne donc un programme fonctionnel sous OS X) j'utilise le make file basique suivant :
J'utilise Mac OS X Snow Leopard sur un Macbook Core Duo (i.e. 32 bits) et XCode 3.2.1.
Afin qu'on puisse m'aider efficacement à résoudre ce problème je joins à ce message un lien vers un fichier zip contenant :
- makefile
- code source (main.cpp)
- version compilée avec make fille du programme (main.o et helloworld_makefile)
- projet XCode (helloworld.xcodeproj)
- version compilée avec XCode du programme (build/Debug/helloworld)
URL : http://lepommier.boinc-af.org/public/helloworld.zip
Merci d'avance pour votre aide.
En espérant que quelqu'un trouve la solution à cet étrange problème !
Je développe habituellement sous Eclipse (sous linux le plus souvent) et pour une fois je me suis dis que j'allais essayer XCode. Seulement voilà je suis tombé sur un os :/
J'ai un code source très basique :
Bloc de code:
#include <iostream>
using namespace std;
int main (int argc, char * const argv[]) {
string s;
cout << "Type something (using string) : ";
cin >> s;
cout << s << "\n\n";
char* c;
cout << "Type something (using char*) : ";
cin >> c;
cout << c << "\n\n";
return 0;
}
Sous linux avec Eclipse : rien à signaler (compilation OK, exécution OK)
Sous Mac OS X avec un makefile : rien à signaler (compilation OK, exécution OK)
Sous Mac OS X avec XCode : compilation OK, problème lors de l'exécution pour la partie du code utilisant un string, j'obtiens une erreur de ce genre :
Bloc de code:
helloworld(2945) malloc: *** error for object 0x40e4: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
(NB : la partie avec char* fonctionne parfaitement)
J'en déduis donc qu'il s'agit d'un problème de configuration/réglage de XCode mais je ne parviens pas à comprendre d'où vient le problème.
Pour la compilation "à la mano" (qui donne donc un programme fonctionnel sous OS X) j'utilise le make file basique suivant :
Bloc de code:
CPP=g++
CXXFLAGS=-Wall -ansi -pedantic
LDFLAGS=
EXEC=helloworld_makefile
SRC= $(wildcard *.cpp)
OBJ= $(SRC:.cpp=.o)
all: $(EXEC)
helloworld_makefile: $(OBJ)
$(CPP) -o $@ $^ $(LDFLAGS)
%.o: %.cpp
$(CPP) -o $@ -c $< $(CFLAGS)
.PHONY: clean mrproper
clean:
rm -rf $(DIRSRC)*.o
mrproper: clean
rm -rf $(EXEC)
J'utilise Mac OS X Snow Leopard sur un Macbook Core Duo (i.e. 32 bits) et XCode 3.2.1.
Afin qu'on puisse m'aider efficacement à résoudre ce problème je joins à ce message un lien vers un fichier zip contenant :
- makefile
- code source (main.cpp)
- version compilée avec make fille du programme (main.o et helloworld_makefile)
- projet XCode (helloworld.xcodeproj)
- version compilée avec XCode du programme (build/Debug/helloworld)
URL : http://lepommier.boinc-af.org/public/helloworld.zip
Merci d'avance pour votre aide.
En espérant que quelqu'un trouve la solution à cet étrange problème !