Hallo Liste!
Ich möchte mehrere Programme für fli4l (2.0.8) übersetzen. Da dort die libc5 verwendet wird, habe ich die entsprechenden altdev-Pakete installiert (altgcc, libc5-altdev, libg++27-altdev). Dann habe ich im Makefile die Pfade für GCC und G++ angepasst. Doch leider läuft die Übersetzung nicht durch:
$make /usr/i486-linuxlibc1/bin/c++ sd_listcalls.cpp connect.o sd.o -o sd_listcalls -lstdc++ In file included from sd.hpp:16, from sd_listcalls.cpp:4: connect.hpp:15: warning: namespaces are mostly broken in this version of g++ sd_listcalls.cpp: In function `int main(int, char **)': sd_listcalls.cpp:17: incorrect number of parameters (1, should be 2) /usr/i486-linuxlibc1/include/g++/set.h:27: in template expansion for decl `template <class Key, class Compare> class set' sd_listcalls.cpp:53: request for member `insert' in `msn', which is of non-aggregate type `int' sd_listcalls.cpp:70: request for member `empty' in `msn', which is of non-aggregate type `int' sd_listcalls.cpp:70: request for member `find' in `msn', which is of non-aggregate type `int' sd_listcalls.cpp:70: request for member `end' in `msn', which is of non-aggregate type `int' make: *** [sd_listcalls] Fehler 1
Offenbar ist das set-Template kaputt. Wenn ich beim Initialisieren von set noch einen Parameter mehr angebe, hagelt es Bildschirmweise Fehlermeldungen. Und mit neuerem g++ läuft die Übersetzung ja auch problemlos durch. Hier der verursachende Codeschnipsel:
15:int main(int argc, char** argv) 16:{ 17: set<string> msn;
Leider habe ich von C++ nicht soviel Ahnung, als das ich das set-Template korrigieren könnte.
Hat vielleicht jemand eine Idee, wie ich das doch noch hinbekomme? Gibt es einen Workaround für das Set-Template (und für das map-Template, was wahrscheinlich auch kaputt ist)?
Bert
P.S.: Prinzipiell läuft die Geschichte, die anderen Programm die nicht das set-Template nutzen laufen schon.