2011-08-05 2 views
0

Je prends ce cours de cs50.tv, qui est l'école d'extension Harvard et dans le cours, ils utilisent une bibliothèque qu'ils ont appelé cs50, sur ce lien son disponible pour téléchargerHarvard CS50 Library, Besoin d'aide Installation sur Mac OS X

https://manual.cs50.net/CS50_Library#Mac_OS

J'ai téléchargé le fichier zip et décompressé, puis-je ouvrir le terminal et cd mon chemin vers le répertoire de la bibliothèque, mais chaque fois que je suis les étapes du manuel.

Juste après que je fais cette commande gcc -c -ggdb std = c99 cs50.c -o cs50.o

Je reçois cette erreur dans le terminal

cs50.c:15:16: error: gc.h: No such file or directory 
cs50.c: In function ‘GetString’: 
cs50.c:207: warning: implicit declaration of function ‘GC_FREE’ 
cs50.c:212: warning: implicit declaration of function ‘GC_REALLOC’ 
cs50.c:212: warning: initialization makes pointer from integer without a cast 
cs50.c:230: warning: implicit declaration of function ‘GC_MALLOC’ 
cs50.c:230: warning: initialization makes pointer from integer without a cast 

Apprécierions vraiment si quelqu'un peut aider.

Répondre

0

gc.h provient du récupérateur de déchets Boehm. Vous pouvez le télécharger ici:

http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.0.tar.gz

Déballez, puis faire ./configure && make && sudo make install. Cela installera l'en-tête dans/usr/local/include/gc, vous devrez dire à gcc d'aller chercher là:

gcc -I/usr/local/include/gc -c -ggdb -std=c99 cs50.c -o cs50.o

+0

J'ai toujours le même résultat sorte de =/ –

+0

Avez-vous d'autres idées? –

+0

"sorte de" ?? Pouvez-vous vérifier si vous avez maintenant gc.h dans/usr/local/include/gc? Si ce n'est pas le cas, affichez la sortie complète de la ligne configure ... etc. Si vous l'avez, publiez la sortie complète de la ligne gcc -I .... –

0

Si vous essayez d'utiliser gcc pour compiler la bibliothèque cs50.h , J'ai trouvé que cela échoue sur la plupart des macs 64 bits modernes. Xcode 4.x veut généralement un format de bibliothèque compatible 64 bits. GCC n'a pas été mis à jour pour inclure des fichiers objets 64 bits. Clang/LLVM est une alternative croissante à gcc, et est utilisé par Apple pour Xcode comme moteur de compilation préféré. Je ne l'ai pas encore essayé personnellement, mais j'explorerai Xcode pour produire une bibliothèque compatible pour Xcode. Je prends le cours Harvardx cs50x sur edX, et c'est bien sûr, même pour les programmeurs expérimentés. La bibliothèque cs50.h est intéressante, car elle fournit des routines d'E/S relativement robustes pour divers types de variables, par ex. Chaîne, Entier. float pour le langage de programmation c, y compris une bonne protection pour les attaques de buffer overflow.