Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
10.10.2001, 15:10
Kriz



Dickes Problem auf Linux =)

Erstmal die Tatsachen in Form von Dateien:

../test/

test.cpp <- Hauptsource, ruft sub1.h auf
sub1.h <- Headerdatei
sub1.cpp <- Nebencode, ruft sub1.h auf

Der Befehl g++ -o test test.cpp spuckt Erros aus, die man dahingehend interpretieren kann, daß g++ sub1.h und sub1.cpp nicht findet und daher auch nicht kompilieren und linken kann...

Daher die Frage besonders an den Herrn P., der ja nie da ist, wenn man ihn braucht (löl): Watt is zu tun?

Bitte schnelle Antwort, da das Linux-Seminar inner Firma immer näher rückt =)

PS: Jaja, hab alles von damals vergessen und finde die Unterlagen nicht mehr (irgendwie)...

Thx

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
001
10.10.2001, 17:02
TheTinySteini



Pff? Genauere Errormeldungen?
Sind die sub1.h und die sub1.cpp rechtemäßig in Ordnung? Eventuell brauchst du auch schon ein makefile...

Achja, und denk bloß nicht, g++ verzeiht dir, dass du von Sprüchen wie Springuinen und *hierbitteallemöglichenantilinuxsprüchedazudenken* reichlich Gebrauch gemacht hast =)

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
002
10.10.2001, 17:06
Tron



hmm... ich hab' zwar von linux keine ahnung, aber der compiler will doch bestimmt alle sourcedateien angegeben haben, also:
g++ -o test test.cpp sub1.cpp
ware eines der billigen dinge, an die man in der panik nicht denkt (;
(oder ist das nur .obj [oder wie immer die auf linux heisst] erstellen fuer die test.cpp? dann hab' ich natuerlich sch*** gelabert)

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
003
10.10.2001, 19:15
Prefect



g++ -o test test.cpp kompiliert lediglich test.cpp und spuckt dann eine Executable aus. Da aber sub1.cpp nicht kompiliert und gelinkt wurde gibt's natürlich Linkererrors. Du kannst entweder, wie Tron sagt, alles in einem Aufwasch machen, per g++ -o test test.cpp sub1.cpp oder schrittweise, also:

g++ -c -o test.o test.cpp
g++ -c -o sub1.o sub1.cpp
g++ -o test sub1.o test.o

Du kannst das ganze dann auch noch in eine leete Makefile reinpacken, die z.B. so aussieht:

Quellcode:
CC=g++

SRCDIR=.

OBJDIR=$(SRCDIR)/obj

BASE_CFLAGS=-Wall
LDFLAGS=

# Debug settings:
CFLAGS=$(BASE_CFLAGS) -g -O2

INCLUDEDIRS=-I.

DO_CC=$(CC) $(CFLAGS) $(INCLUDEDIRS) -o $@ -c $<

$(OBJDIR)/%.o: $(SRCDIR)/%.cpp
        $(DO_CC)


#############################################################################
# Add new object files here
#############################################################################
OBJ = \
        $(OBJDIR)/test.o \
        $(OBJDIR)/sub1.o \


test : neat $(OBJ)
        $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJ)

neat:
        -mkdir -p $(OBJDIR)

clean:
        -rm -f $(OBJ)
        -rm -f *.ii *.s

spotless: clean
        -rm -fr $(OBJDIR)
        -rm test

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
004
10.10.2001, 19:46
Kriz



Thx!

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
005
11.10.2001, 01:18
Kriz



Und für die ganz Makefilefaulen:

g++ -o test test.cpp -I.

=)

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
006
14.10.2001, 11:26
Kriz



Brrrr, irgendwie rafft meine glibc-Version die STL nicht so richtig. Habe aber gehört, daß GNU damit noch Probleme hatte bis vor kurzem. Welche aktuelle glibc gibbet denn? Meine ist noch von SuSE 6.3.

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
007
14.10.2001, 15:59
dp
Administrator


ftp://ftp.gnu.org/gnu/glibc/

--

zum Seitenanfang zum Seitenende Profil || Suche
008
14.10.2001, 18:08
Kriz



Danke =) glibc 2.2.4 scheint der Aktuellste zu sein...

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche