Compiler bricht mit Fehler ab

Anton

Anton

Jungspund
Hallo,

Nach dem Umstieg auf Debian Etch wollte ich mir Mbrola wieder installieren. Dabei sind einige Filter zu compilieren.

1. Numfilt
hat zwar compiliert, bringt aber etliche Warnungen vom Typ

numfilt.c:29: warning: incompatible implicit declaration of built-in function 's trchr'

Ich hoffe, dass das Ergebnis trotzdem brauchbar ist ?

2. Pipefilt
... ist mein Sorgenkind. Der Programmtext ist eigentlich recht kurz:


#include <stdio.h>
#include <stdlib.h>

int isspace(char u) {
if (u == (char)13 || u == (char)9 || u == (char)10 || u == (char)32 || u == (char)0)
return(1) ;
return(0) ; }

int ispoint(char u) {
if (u == '.' || u == ';' || u == '!' || u == ':')
return(1) ;
return(0) ; }


int main() {

setvbuf(stdin, NULL, _IOLBF, BUFSIZ);
setvbuf(stdout, NULL, _IOLBF, BUFSIZ);

char a,b ;
a =getchar() ;
while (!feof(stdin)) {
b = getchar() ;
if (ispoint(a) && isspace(b)) {
printf("%c\n",a) ;
a = getchar() ;
continue ; }
if (isspace(a)) {
printf(" ") ;
a = b ;
continue ; }
printf("%c",a) ;
a = b ; }
printf("%c\n",b) ;
return(0) ; }


Das Compilieren dieses Filters bricht mit folgender Fehlermeldung ab:

/tmp/ccXASpbl.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

Leider sagt mir die Fehlermeldung nicht viel.
Unter Sarge compiliert das Progrämmchen, unter Etch nicht mehr.

Hat jemand eine Lösung oder zumindest eine Idee, wo das Problem liegen könnte und wie man es beheben kann ?

Vielen Dank für die Hilfe !

Viele Grüße,

A. H. Schulz
 
Also wenn mein Compiler sowas ausspuckt, fehlt ihm meistens ne Lib. Wenn ich sie mit -l angebe bringt er so einen Fehler nicht.

Ich stör mich nicht an warnings sollte auch so laufen.
 
Bei dem strchr-Fehler ist vermutlich die string.h nicht include't.

Der zweite Fehler tritt im Normalfall dann auf, wenn man ein C++-Programm mit gcc anstatt g++ kompiliert.
 
Hallo root 1992,

hab mir schon so was gedacht.
Welche lib fehlt da ?

Grüße,

Anton
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Hallo,

g++ anstelle von gcc war die Lösung.

Danke für die schnelle Hilfe !
 
Zuletzt bearbeitet:
Wußte ich's doch. :) Kenne diese Meldung nämlich nur zu gut aus der Zeit als ich von C auf C++ umgestiegen bin und gewohnheitsmäßig den gcc nutzte.
 

Ähnliche Themen

Unix Webserver mit HTML Seite erstellen

Prozesskommunikation mit PIPES - wie funktioniert das?

Ausführbare C-Datei von Mac OS auf Embedded Linux ausführen

Queue für copy Script

Aufgabe in C

Zurück
Oben