C-Code kann nach der Installation von xcode nicht kompiliert werden


7

Als ich Xcode auf Snow Leopard installiert habe, gccwar es nicht in meinem Weg. Ich habe manuell hinzugefügt /Developer/bin, um gcc zu erhalten. Aber ich schrieb ein einfaches C - Programm zu schließen stdlib.hund stdio.hund eine Zeichenfolge zu drucken, aber ich erhalte Linkerfehler.

Ich denke, das liegt daran, dass ich meinen Include-Pfad nicht konfiguriert habe. Kann mir jemand sagen, warum dies nicht automatisch gemacht wurde und wie ich meinen C-Compiler einrichten kann?


Ich hatte auch Macs mit Xcode 4.1, bei denen der Pfad kein gcc enthielt. Durch das Bereinigen der alten
Pfadänderungen

Für das, was es wert ist, habe ich nur hahahah neu formatiert! Es scheint, dass der Firmencomputer, den ich geerbt habe, keine Neuinstallation war (mir wurde gesagt, dass dies der Fall ist), daher besteht meine Lösung darin, ihn einfach auszulöschen ... na ja!
Derek Adair

Auch ich habe mehr und mehr meiner "Lion" -Upgrades sauber gewischt. Siehe Gibt es einen zweiten Schritt ...
bmike

Antworten:


4

Ich denke, es gab einen Fehler in Xcode 4.1, bei dem die Befehlszeilentools nicht installiert wurden. Ich habe gerade das Delta-Installationsprogramm 4.1.1 aus dem App Store ausgeführt und die Dinge funktionieren einwandfrei.

Last login: Tue Sep 20 14:47:44 on ttys001
mac:~ mike$ which gcc
/usr/bin/gcc
mac:~ mike$ ls -l /usr/bin/gcc
lrwxr-xr-x  1 root  wheel  12 Sep 19 16:04 /usr/bin/gcc -> llvm-gcc-4.2
mac:~ mike$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
mac:~ mike$ mkdir /tmp/test
mac:~ mike$ cat > /tmp/test/hello.c << EOF
/* Hello World program */

#include<stdio.h>

main()
{
    printf("Hello World");

}
EOF
mac:~ mike$ cd /tmp/test
mac:test mike$ gcc hello.c -o hello
mac:test mike$ ./hello 
Hello Worldmac:test mike$ 

Dies sollte mit dem neuesten Xcode sofort funktionieren. Haben Sie sichergestellt, dass Sie den neuesten gcc / Xcode verwenden und keinen vorherigen Pfad oder keine vorherigen Binärdateien installiert haben?


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.