C++ komplieren und Linken

T

tconz

Aktives Mitglied
Thread Starter
Dabei seit
21.02.2005
Beiträge
151
Reaktionspunkte
0
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
 
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
...
 
1. g++ -c datei.cpp -o datei.o
2. g++ datei1.cpp datei2.cpp datei3.cpp -o programm
 
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
 
ich muss immer so c++ dateien kopilieren:
c++ -o programmname datei.cpp

und ausführen:
./programmname
 
Zuletzt bearbeitet:
-->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:
Zurück
Oben Unten