Forum: PC-Programmierung Probleme mit Boost Library


von Patrick W. (seennoob)


Angehängte Dateien:

Lesenswert?

Hallo

Ich hab eine mir nicht erklärliche Fehlermeldung wenn ich das oben 
angehängte Programm compiliere mit dem gcc.
Ich hoffe ihr findet den Fehler.

Fehlermeldung:

make[2]: *** [dist/Debug/Cygwin-Windows/regexp.exe] Error 1
make[2]: Leaving directory `/cygdrive/c/Dokumente und 
Einstellungen/Patrick/Eigene Dateien/NetBeansProjects/Regexp'
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory `/cygdrive/c/Dokumente und 
Einstellungen/Patrick/Eigene Dateien/NetBeansProjects/Regexp'
make: *** [.build-impl] Error 2

MFG Patrick

: Verschoben durch Admin
von Rolf Magnus (Gast)


Lesenswert?

Das ist nicht die Fehlermeldung, sondern nur die Information von make, 
daß es jetzt aufhört, weil irgendwas einen Fehler gemeldet hat.

von Entweder oder (Gast)


Lesenswert?

#include <stdlib.h>
#include <fstream.h>
#include <iostream.h>

Du mischst da aber schon C und C++ Header durcheinander.

von P. S. (Gast)


Lesenswert?

Entweder oder schrieb:

> Du mischst da aber schon C und C++ Header durcheinander.

Und?

von Entweder oder (Gast)


Lesenswert?

Das kann so gewollt sein, aber bei vielen Fragestellern ist es das nicht 
;)

von Patrick W. (seennoob)


Angehängte Dateien:

Lesenswert?

Ups hab den rest nicht mit Kopiert.


Ne das müssten alles waschreine C++ libs sein.

MFG

von Patrick W. (seennoob)


Lesenswert?

Außerdem es funktioniert ja alles bis auf

1
regex such ("(xx)");
1
 cout<<regex_match(buffer, such);

von Rolf Magnus (Gast)


Lesenswert?

1
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.

Das kommt, weil <fstream.h> und <iostream.h> nichtstandard-Header sind. 
Die waren schon vor 11 Jahren veraltet, als C++ zur ISO-Norm wurde.
Besser wäre es, <fstream> und <iostream> zu verweden. Die unterscheiden 
sich übrigens nicht nur durch den Namen von den alten Headern.

Der eigentliche Fehler kommt aber vom Linker. Du hast vermutlich 
vergessen, gegen die libboost_regex zu linken.

PS: Dein Programm wird so nicht funktionieren, da dein char-Array nicht 
nullterminiert ist.

von P. S. (Gast)


Lesenswert?

Patrick Weinberger schrieb:

> Ne das müssten alles waschreine C++ libs sein.

stdlib wohl eher nicht. Hat aber mit dem Problem sowieso nichts zu 
tun...

von Rolf Magnus (Gast)


Lesenswert?

> stdlib wohl eher nicht.

Doch. Ist genauso Teil von C++, wie es Teil von C ist.

von P. S. (Gast)


Lesenswert?

Rolf Magnus schrieb:

> Doch. Ist genauso Teil von C++, wie es Teil von C ist.

Hat keiner bestritten, aber wenn es dich gluecklich macht...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.