• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Einfaches C Programm läuft unter XCode 2, aber nicht unter XCode 3

Cologne_Muc

Schöner von Nordhausen
Registriert
15.09.04
Beiträge
318
Hallo Gemeinde,

über die Suchfunktion habe ich keinen Lösungsansatz gefunden. Darum probiere ich es mal so:

Folgendes einfaches C-Programm (zu Testzwecken dieses Problems) läuft unter XCode 2.4.1 (iBook G4) reibungslos, unter XCode 3.2.4 (aktuell, iMac C2D) lässt es mich die Eingabe machen und tut dann gar nichts mehr. Ich muss es manuell beenden.

Code:
#include <stdio.h>

int main() 
{
	int alter;
	
	printf("Bitte geben Sie Ihr Alter an: ");
	scanf("%d",&alter);
	printf("Sie sind %i Jahre alt",alter);
	return 0;
}

Ausgegeben wird unter 2.4.1:

Code:
[Session started at 2010-10-21 15:38:03 +0200.]
Bitte geben Sie Ihr Alter an: 23
Sie sind 23 Jahre alt
first has exited with status 0.

und unter 3.2.4

Code:
Program loaded.
run
[Switching to process 1257]
Running…
Bitte geben Sie Ihr Alter an: 12
kill
quit

The Debugger has exited with status 0.
(selbst beendet)
Aufgefallen sind mir kleinere versionsbedingte Unterschiede in den beiden Konsolen, sonst aber nichts.

Danke für eure Hilfe!
Gruß
Daniel
 
Bei mir (Xcode 3.2.3 64bit) läufts:
run
[Switching to process 18841]
Running…
Bitte geben Sie Ihr Alter an: 34
Sie sind 34 Jahre alt
Debugger stopped.
Program exited with status value:0.
 
Okay, das ist eher schlecht als gut. Ne Idee, was ich für Optionen habe? Xcode neu installieren?
 
Neuinstallation hats getan...

Es ging einmalig! Er scheint mit scanf massiv Probleme zu haben :/ Ideen?
 
Lass es einfach über die Kommandozeile laufen, dann gehts bestimmt.

Für andere Fälle: Dass das Programm nicht läuft, hängt keineswegs von Xcode oder dessen Version ab, sondern von der Version des Compilers und/oder den Build-Einstellungen in Xcode. Wenn also dein kleines Programm sauber kompiliert (keine Warnings!!), dann läuft es auch (du kannst höchstens einen runtime-Fehler in scanf/printtf produzieren).

Gruss ppocket
 
Kann gut sein, dass die Konsole in Xcode den Ärger mit irgendeinem kaputten Buffer oder so verursacht. Ich nehme deswegen immer das richtige Terminal zum Ausführen. Wenn es da auch nicht geht, dann ist Deine C-Runtime-Library vielleicht irgendwie zerschossen.
 
Bin hier nicht weitergekommen. Gehe ich richtig in der Annahme, dass ich einfach das C-File per
Code:
imac-c2-daniel:~ danielbetz$ /Users/danielbetz/Documents/programme/thrird/main.c
öffne?
Antwort:
Code:
-bash: /Users/danielbetz/Documents/programme/thrird/main.c: Permission denied

...
 
Läuft ohne Probleme. (Xcode 3.2.5)

[Switching to process 3226]
Running…
Bitte geben Sie Ihr Alter an:
42
Sie sind 42 Jahre alt

Debugger stopped.
Program exited with status value:0.

Hast Du das Projekt vielleicht 1:1 vom iBook auf den iMac kopiert?
Setze die Target Architecture mal auf i386 o.ä. und ein Clean All Targets.
 
Habe ich (aber als txt Datei). Habe dennoch alle targets gecleant und alle Architectures ausprobiert. Kein Erfolg...

Ist von einer Developer-Deinstallion und Re-Installation denn irgendeine Komponente nicht betroffen? Wenn euch da was einfällt, installiere ich das noch einmal neu. Radikal: Würde spätestens eine komplette Systemneuinstallation helfen?!
 
Ist von einer Developer-Deinstallion und Re-Installation denn irgendeine Komponente nicht betroffen?
Nein.

Wenn euch da was einfällt, installiere ich das noch einmal neu.
Du kannst mal einen neuen User anlegen, und es auf dessen Konto versuchen.

Radikal: Würde spätestens eine komplette Systemneuinstallation helfen?!
Schätzungsweise: Nein.
 
Bin hier nicht weitergekommen. Gehe ich richtig in der Annahme, dass ich einfach das C-File per
Code:
imac-c2-daniel:~ danielbetz$ /Users/danielbetz/Documents/programme/thrird/main.c
öffne?
Nope. Du musst die kompilierte Programmdatei öffnen. C-Sourcecode lässt sich nicht über die Kommandozeile ausführen.
 
Du kannst mal einen neuen User anlegen, und es auf dessen Konto versuchen.

Tata. Funktioniert. Sei es nun gut oder schlecht...
Was sind meine Optionen? Ein extra-User für C-Programmieren? Oder lässt sich der Fehler im System jetzt eingrenzen?


revidiere: Wieder nur einmalig -.-
 
Zuletzt bearbeitet: