🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #651

Re: DJGPP: Compiliert mein c++ Prog nicht

#651
From: Alex Schroeder
Date: Tue, 24 Oct 1995 07:51
62 lines
2641 bytes
Hallo,

Aus lauter Dummheit muss ich vor einer Woche das falsche Beispiel
gepostet haben. Gestern hat "Hello World" kompiliert. Ich hatte wohl
in der Konfusion vergessen, -liostr anzugeben. Gestern nun wollte ich
also mein urspruengliches Problem wieder angehen, das Verwenden der
C++ Klassen, die fuer DJGPP erhaeltlich sind. Wie erwaehnt
funktioniert nun das "cout <<", aber die String-Deklaration bricht
immer noch mit einem raetselhaften Linker-Error ab.

Wie schon frueher benutze ich immer noch einen 486, DJGPP 2.6.3 etc.

--- test.cc:

#include <iostream.h>
#include <_string.h>

main ()
{
        String a = "Hello!";
        cout << a;
}

--- kompiliert mit:

gcc test.cc -liostr -lgpl

--- ergibt:

test.cc(.text+0x2b): undefined reference to `String::String(char const *)'
test.cc(.text+0x3c): undefined reference to `operator<<(ostream &, String const &)'
test.cc(.text+0x4a): undefined reference to `String::~String(void)'

--- Warum? Ich inkludiere doch libgpl. Und kompiliert hat er ja! Zudem
sieht das sehr aehnlich aus wie der Fehler, der entsteht, wenn man
-liostr vergisst. Dann wird "cout" naemlich auch moniert...  

--- Und mit (mit Paranoia versucht man schlussendlich alles...):

gcc test.cc -liostr -lgpp -lgpl

--- gibt es

String.cc(.text+0x1967): undefined reference to `lib_error_handler'
String.cc(.text+0x1a25): undefined reference to `lib_error_handler'
String.cc(.text+0x1ae1): undefined reference to `lib_error_handler'
String.cc(.text+0x1b3b): undefined reference to `lib_error_handler'
String.cc(.text+0x1c45): undefined reference to `lib_error_handler'
String.cc(.text+0x1d75): more undefined references to `lib_error_handler' follow

--- den lib_error_handler scheint es mehrmals in LIBGPL.A zu
geben. Auch in STRING.O (so fand ich jedenfalls mit NM.EXE heraus)
findet man einen lib_error_handler, allerdings mit einem "U" statt mit
einem "T" markiert - doch das bringt mich auch nicht weiter - sollte
doch funktionieren, oder?


Alex.

--
Grofzg! Mofzg! NagaNnaga! NnnaAARGHGAA! Agha! Naganahhagga!
PGP public key available on request. 
Technical Details
Message-ID: <46i5uf$suf@rzunews.unizh.ch>
Path: arc1-ca.pugleaf.net!rzunews.unizh.ch!alex
References: <45m7na$4gf@fstgal00.tu-graz.ac.at> <813768939snx@candra.han.de> <1995Oct16.110117.19405@ark.franken.de> <46g5me$8sk@rzunews.unizh.ch>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!rzunews.unizh.ch!alex
From: alex@zool.unizh.ch (Alex Schroeder)
Newsgroups: de.comp.lang.c++
Subject: Re: DJGPP: Compiliert mein c++ Prog nicht
Date: 24 Oct 1995 07:51:43 GMT
Organization: University of Zurich, Switzerland
Message-ID: <46i5uf$suf@rzunews.unizh.ch>
References: <45m7na$4gf@fstgal00.tu-graz.ac.at> <813768939snx@candra.han.de> <1995Oct16.110117.19405@ark.franken.de> <46g5me$8sk@rzunews.unizh.ch>
NNTP-Posting-Host: rzurs10.unizh.ch
X-Newsreader: TIN [version 1.2 PL2]