C++ Compiler auf MAC ???

S

singapore

Neues Mitglied
Thread Starter
Dabei seit
23.01.2005
Beiträge
11
Reaktionspunkte
0
servus leute,

vielleicht kennt sich ja jemand mit unix und c++ compilern aus.
ich bin nicht gerade top in dem bereich aber dabei ein kleines programmchen zu schreiben / kopieren (hallo welt!) :rolleyes: .... ist auch fertig aber irgendwie kann ich es in unix nicht aufrufen.... HILFE

Wie funktioniert denn das ???

vielen dank schon mal im voraus, singapore.
 
Herzlich willkommen :)

Also einmal geht das mit xcode.
oder im terminal mit gcc/g++

Viel Spass
 
noch nicht ganz verstanden

auf unix hab ich das schon ausprobiert, irgenwie bringt der MIR immer eine fehlermeldung ..no such file or directory ... habe ich mein programm vielleicht im falschen ordner ?


.... wie mach ich das mit XCODE ?

ich weis so dumme fragen aber das ist das einzige problem das mich derzeit
total aufhält :(

viele grüße
 
Punkt 1 : das einfachste ist im terminal in den Ordner zu wechseln in der das .c, .cpp. o.ä. liegt und von da aus zu kompilieren.

das Programm xcode muss erst installiert werden und ist zu finden auf den mitgelieferten Backup DVD's und Zusatzsoftware o.ä.
 
vielleicht deine zu kompilierende datei mal so aufrufen:

gcc -ansi -Wall -o ./Programm.c

(-ansi -Wall -o sind nur beispiele für die zu setzenden flags, wichtiger ist vielleicht
./ vor dem programmnamen)


lexa
 
Du musst natürlich erstmal XCode installieren. Das ist auf einer der CDs die bei deinem Rechner dabei waren, oder auf der dritten OS X CD.
 
ich hab dazu mal ne frage. wie heissen denn die biblitheken / header für bsw. standart ein/ausgabe die ich includieren muss. sind die bei den xtools die selben , als wenn ich auf nem x86 er in borland programmiere?

und wenn nicht, kann ich bibliotheken importieren?? ich mein die bibliotheken sind doch auch nur im c++ syntax geschrieben und somit dürfte das doch kein poblem sein, wenn ich plattform-unabhängig entwickeln möchte??
 
für "Hello world"-Geschichten auf der Konsole würd ich Xcode nur als Editor verwenden (oder einen anderen Editor mit Syntax-highlighting, z.B. Smultron) und im Termial dann abwechselnd 'g++ hello.cpp' und './a.out' aufrufen

die libs sind dabei die gleichen, zumindest bei reinen Konsolenawendungen. Man kann also wie gewohnt

#include <iostream>

etc. einbinden.

achja, und es heißt 'standard' !
 
Hallo

Ich kann dir Xcode nur wärmstens empfehlen, wenn du einen mac neueren datums dein eigen nennst findest du den installer meist schon auf deiner platte unter: /Programme/Installers/Developer Tools
der installer heißt "Developer.mpgk"

Erstelle ein neues projekt (command line utility), schreibe deinen code im editor, lass es durch den compiler laufen ... und die ausführbare datei findest du dann im projektordner im unterverzeichnis "build" o.ä.

Hab bisher nur ein kleines "hello world" in C geschrieben, da mir momentan die motivation zum coden fehlt, aber ich denke mit C++ wirds ebenso funktionieren wer etwas erfahrung mit dosen-compilern hat wird sich schnell zurecht finden, für meinen teil muss ich sagen das Xcode doch wesentlich einfacher zu bedienen ist als VS.NET auf der dose ...

Die header files sind übrigens dieselben wie auf der dose, nur sind manche (betriebssystemspezifische-)funktionen nicht vorhanden oder eben woanders zu finden, ich denke da an sächelchen wie clear-screen u.ä.

Naja, ich hoffe mal das hilft dir ein wenig ... und viel spaß beim coden
 
vielen dank du hast mir ein bisserl weitergeholfen.
ich werde mich mal ein wenig damit auseinandersetzen :)

viele grüße, singapore
 
Hi, ich hab ein MBA, wie kann ich darauf am besten Xcode installieren? Hab das schon mit Remote-Disc probiert, hat nur leider nichts gebracht...
 
Jetzt hab ich den auch gesehen... Hab mir auch mittlerweile Xcode 25 installiert. Ich bin nur durch ne Google-Suche auf den Thread gestoßen, und Google verlinkt halt immer direkt.
 
Im Übrigen kann Make auch ohne Makefile Programme übersetzen, solange diese nicht aus mehreren Dateien bestehen oder besondere Flags bei der Übersetzung benötigen.

Ein Hallo Welt

HelloWorld.cc
Code:
#include <iostream>

using namespace std;

int main ()
{
    cout << "Hallo Welt!\n";
    return 0;
}

lässt sich auf der Kommandozeile mit

Code:
$ make HelloWorld

übersetzen. Make findet die Datei, erkennt anhand er Endung, dass es sich um eine C++-Datei handelt und übersetzt nach der bereits vordefinierten Regel

Code:
%.cc: $<
        g++ $(CPPFLAGS) $(LDFLAGS) $< -o $@

CPPFLAGS ist eine vordefinierte Variable für Compilerflags des C++-Compilers. LDFLAGS entsprechende Linkerflags. Ein minimales Makefile zum Übersetzen eines Programms aus einer Datei könnte also wie folgt aussehen:

Code:
CPPFLAGS = # gewünschte Compilerflags, zb. -Wall -pedantic -ansi
LDFLAGS = #gewünschte Linkerflags

Besteht jetzt ein Programm aus mehreren Übersetzungseinheiten, reicht es, seine Abhängigkeiten anzugeben.

Code:
CPPFLAGS = # gewünschte Compilerflags, zb. -Wall -pedantic -ansi
LDFLAGS = #gewünschte Linkerflags
TARGET = HelloWorld
EXT = .cc
CU = $(TARGET)$(EXT)

$(TARGET): $(CU)

Sollte ein anderer Compiler als der Standardcompiler des Systems eingesetzt werden, kann man die Variable CC überschreiben. An den Regeln muss man dann noch nichts ändern. Regeln erstellen muss man erst, wenn eine Programmiersprache nicht von make bekannt ist. Ein Beispiel (Ja, es gibt bereits Assembler-Regeln):

Code:
AS = nasm # ich mag nasm mehr als gas
ASFLAGS = # whatever

$(TARGET): $(TARGET).s
        $(AS) $(ASFLAGS) $< -o $@

$< steht für das transformierbare Objekt, hier also die Datei mit dem Assembler-Code. $@ entspricht den Transformationsziel. Wichtig ist, dass die Transformationsregel mit einem Tab beginnt und nicht mit Leerzeichen.

Dadurch lassen sich sehr schlanke und vor allem generische Makefiles erzeugen, bei denen in den meisten Fällen nur das Target geändert werden muss.

Will wer mehr wissen, empfehle ich "Polze, UNIX-Werkzeuge zur Programmentwicklung, VEB Verlag Technik Berlin, ISBN 3-341-00865-9" Ich selbst hab noch bei dem Author Vorlesungen gehört. Das Buch ist gut, wenn man an ein Exemplar kommt. Bei Amazon sind hin und wieder welche günstig zu haben. Neben make wird auch Bourne Shell (sh), sed, ed und lex/yacc behandelt, mit vielen Beispielen.
 
Zuletzt bearbeitet:
Zurück
Oben Unten