C++ komplieren und Linken

tconz

Mitglied
Thread Starter
Registriert
21.02.2005
Beiträge
151
Hallo zusammen,

hab einige Einträge im Forum gefunden, wie man eine einzige cpp kompiliert, jedoch leider nicht, wie ich mehrere kompilieren kann und diese dann linken. Die "man cpp" ist leider für mich auch nicht sehr verständlich, ist irgendwie ein ziemliches durcheinander.

Wäre toll wenn mir jemand kurz die Befehle posten könnte:

1) cpp Datei kompilieren ohne dass sie sich linkt. (Windows cl /c)
-> compile only

2) Wie ich zwei bis x cpp Dateien kompilieren kann und gleich Linken
(Windws: cl Temp.cpp Test.cpp /link /out:test.exe


Vielen Dank

Tobi
 

CapFuture

Aktives Mitglied
Registriert
23.01.2004
Beiträge
1.812
Der --help Parameter ist immer dein Freund:

cpp --help
...
-E Preprocess only; do not compile, assemble or link
-S Compile only; do not assemble or link
-c Compile and assemble, but do not link
...
 

Morfio

Mitglied
Registriert
25.10.2002
Beiträge
215
1. g++ -c datei.cpp -o datei.o
2. g++ datei1.cpp datei2.cpp datei3.cpp -o programm
 

tconz

Mitglied
Thread Starter
Registriert
21.02.2005
Beiträge
151
Hi,
erstmal danke für die schnellen Antworten.

1. g++ -c datei.cpp -o datei.o
2. g++ datei1.cpp datei2.cpp datei3.cpp -o programm


-->1. Geht nicht:
g++ -c funktionen.cpp -o funktionen.o
g++ -c main.cpp -o main.o
g++ -E main.o funktionen.o -o test

habs auch mit -S statt -c probiert, geht auch nicht.

-->2. geht Top. Jedoch wenn ich es dann starten will "user$ programm" oder "user$ /programm" startet es nicht, bringt auch keine Fehlermeldung. Wenn ich es im Finder mit Doppel-Klick starte, gehts?! :(


Thx Tobi
 

Mammut

Mitglied
Registriert
28.12.2004
Beiträge
548
ich muss immer so c++ dateien kopilieren:
c++ -o programmname datei.cpp

und ausführen:
./programmname
 
Zuletzt bearbeitet:

autoexec.bat

Aktives Mitglied
Registriert
21.01.2005
Beiträge
2.134
-->1. Geht nicht:
g++ -c funktionen.cpp -o funktionen.o
g++ -c main.cpp -o main.o
g++ -E main.o funktionen.o -o test

Erst

g++ -c funktionen.cpp
g++ -c main.cpp

dann

g++ funktionen.o main.o -o test

Wenn das nicht geht hat dein Programm mit Sicherheit noch irgendwo einen Fehler.

Am besten solltest du sowieso nicht mit g++ -c funktionen.cpp sondern mit g++ -c -Wall -pedantic funktionen.cpp kompilieren. Dann wirst du auch wirklich auf JEDE Fehlerquelle aufmerksam gemacht.

-->2. geht Top. Jedoch wenn ich es dann starten will "user$ programm" oder "user$ /programm" startet es nicht, bringt auch keine Fehlermeldung. Wenn ich es im Finder mit Doppel-Klick starte, gehts?! :(

Da musst du wie schon gesagt wurde ./programm eingeben.
 
Zuletzt bearbeitet:
Oben Unten