C ++ Code mit 'gcc' verknüpfen (ohne g ++)

Hallo zusammen, kurze Frage: Ich befinde mich in einer Situation, in der es nützlich wäre, meine ausführbare C ++ - Datei nur mit 'gcc' (ohne g ++) zu generieren. Der Grund dafür ist, dass ich den Code an einen automatischen Übermittlungsserver senden muss, der den Befehl 'g ++' (oder 'c ++') nicht erkennt.

In meinen Experimenten bin ich dabeiKompilieren gcc funktioniert gut. Das Problem ist, wenn ich versuche, die generierten Objektdateien zu verknüpfen, wird es durcheinander gebracht. Nun, basierend auf dem, was ich von der gcc-Manpage verstanden habe (ich kann weit davon entfernt sein, also sag mir, ob ich es bin), ist g ++ im Grunde gcc, aber es verknüpft die C ++ - Bibliothek.

Wenn dies zutrifft, wie kann ich (wenn möglich) die C ++ - Bibliothek explizit verknüpfenohne Verwenden Sie den Befehl g ++ (oder c ++)?

BEARBEITEN: Ich füge das Makefile hinzu, um das Problem besser zu veranschaulichen:

<code>COMPILER = gcc
CFLAGS = -Wall -g -x c++

# MODULE COMPILATION
model: modules/model.h modules/sources/model.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/model.cpp -o obj/model.o

algorithms: modules/algorithms.h modules/sources/algorithms.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/algorithms.cpp -o obj/algorithms.o

io: modules/io.h modules/sources/io.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/io.cpp -o obj/io.o

stopwatch: modules/stopwatch.h modules/sources/stopwatch.cpp
    $(COMPILER) $(CFLAGS) -c modules/sources/stopwatch.cpp -o obj/stopwatch.o

# EXECUTABLE GENERATION
exe: model algorithms io stopwatch
    $(COMPILER) $(CFLAGS) main.cpp obj/model.o obj/algorithms.o obj/io.o obj/stopwatch.o -o bin/process

# DEFAULT TEST CASE
run: exe
    ./bin/process -i data/nasa_small.log -a data/nasa_small.access -s data/nasa_small.stack

# CLEANING ROUTINE
clean:
    rm -f obj/*
</code>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage