Von Win NAch Linux g++Fehler
-
Moin,
ich bin mir nicht sicher, ob es mehr in c-Forum gehört, dennoch:Ich übernehme gerade ein unter WIn ( bcc ) laufendes Programm nach Linux.
Dabei stoße ich auf einen Fehler, dem ich ratlos gegenüberstehe:#include <vector.h> #include <time.h> #include <iostream.h> #include <fstream.h> #include <string> #include <iomanip> #include <stdlib.h> #include "dbase.hh" #include "mystrings.hh"
die Zeile 1063 lautet:
int ccomp; //.. ccomp = indexInfo.keyAktuell.compare(0,cSuch.size(),cSuch); //..
Die entsprechende make-Zeile lautet:
g++ -c -Wall dbase.ccund die Fehlermeldung :
dbase.cc: In method `void dBase::doSeek(long unsigned int, basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> > )':
dbase.cc:1063: no matching function for call to `basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> >::compare (int, size_t, string &)'
/usr/include/g++/std/bastring.cc:398: candidates are: int basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> >::compare(const basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> > &, unsigned int = 0, unsigned int = basic_string<charT,traits,Allocator>::npos) const
/usr/include/g++/std/bastring.cc:417: int basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> >::compare(const char *, unsigned int, unsigned int) const
/usr/include/g++/std/bastring.h:397: int basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> >::compare(const char *, unsigned int = 0) const
make: *** [dbase.o] Error 1Kann mir da bitte jemand weiterhelfen ?
Danke Hanns
-
Original erstellt von ^Hanns:
**dbase.cc: In method `void dBase::doSeek(long unsigned int, basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> > )':dbase.cc:1063: no matching function for call to `basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> >::compare (int, size_t, string &)'
/usr/include/g++/std/bastring.cc:398: candidates are: int basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> >::compare(const basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> > &, unsigned int = 0, unsigned int = basic_string<charT,traits,Allocator>::npos) const
/usr/include/g++/std/bastring.cc:417: int basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> >::compare(const char *, unsigned int, unsigned int) const
/usr/include/g++/std/bastring.h:397: int basic_string<char,string_char_traits<char>,__default_alloc_template<true,0> >::compare(const char *, unsigned int = 0) const
make: *** [dbase.o] Error 1
**Übersetzt:
dbase.cc: In method `void dBase::doSeek(long unsigned int, string)':
dbase.cc:1063: no matching function for call to `string::compare (int, size_t, string &)'
candidates are:
int string::compare(const string&, unsigned int = 0, unsigned int = string::npos) const
int string::compare(const char *, unsigned int, unsigned int) const
int string::compare(const char *, unsigned int = 0) constWelche gcc Version verwendest Du und warum bindest Du die ganzen alten "*.h"-Header ein?
[ Dieser Beitrag wurde am 15.04.2003 um 10:43 Uhr von nman editiert. ]
-
Der gcc ist 2.95.3-216 vom 23 März 2002
und
Du die ganzen alten "*.h"-Header
Hab ich eiogentlich immer schon gemacht, und nicht mitbekommen, daß es neue gibt.
Welche, und wo lerne ich darüber
Hanns
-
http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=iostream#Answ
die neuen header sind ohne .h und deren inhalt ist im namespace std
-
nur dass der 2.95er hoffnungslos veraltet ist (cstdlib zB ist nicht in namespace std{}...)
-
Stimmt, ein Update auf die 3.2er-Serie wäre dringend angebracht, ^Hanns!
-
Danke erstmal,
beim Holen der neuen variante sind entspr. libs wahrscheinlich dabei
Hanns
-
Nun muss ich nochmal nachfragen, wo finde ich die Version denn ??
ich hab z.b auf dem ftp://www.gwdg.de geschaut, finds aber nciht
Danke Hanns
-