STL Fileopen probleme
-
Hallo
Ich würde gerne eine File über ifstream öffnen.
Hier erst mal der Code:
ifstream infile; infile.open(argv[1], ios::in | ios::binary); if (infile.fail()) { cout << "Cannot open input file " << argv[1] << endl; ilib_terminate(); }Das makefile hab ich selbst geschrieben. Eventuell liegt hier auch der Fehler (gibt es ein stl flag?)
TILERA_INCLUDES := .../boost_1.43.0/ .../usr/include/cpp/stl TILERA_CC = /tools/Tilera_MDE/TileraMDE-2.0.0.77314/tilepro/bin/tile-c++ TILERA_CFLAGS = $(TILERA_INCLUDES) -O3 -pthread -DTLM_TARGET_TILERA TILERA_LIBS = -lilib -ltmc -lm TILERA_LDFLAGS = -pthreadAnsonsten bekomme ich folgende Fehlermeldung (kenne mich leider bei der stl noch nicht so aus)
"/tools/Tilera_MDE/TileraMDE-2.0.0.77314/tilepro/tile/usr/include/cpp/stl/stl/_ios.h", line 47: error: "stlp_std::ios_base::ios_base(const stlp_std::ios_base &)" is inaccessible class basic_ios : public ios_base { ^ detected during: implicit generation of "stlp_std::basic_ios<_CharT, _Traits>::basic_ios(const stlp_std::basic_ios<char, stlp_std::char_traits<char>> &) [with _CharT=char, _Traits=stlp_std::char_traits<char>]" at line 54 of "src/file_read.cpp" instantiation of class "stlp_std::basic_ios<_CharT, _Traits> [with _CharT=char, _Traits=stlp_std::char_traits<char>]" at line 54 of "src/file_read.cpp" implicit generation of "stlp_std::basic_ifstream<_CharT, _Traits>::basic_ifstream(const stlp_std::basic_ifstream<char, stlp_std::char_traits<char>> &) [with _CharT=char, _Traits=stlp_std::char_traits<char>]" at line 54 of "src/file_read.cpp" instantiation of class "stlp_std::basic_ifstream<_CharT, _Traits> [with _CharT=char, _Traits=stlp_std::char_traits<char>]" at line 54 of "src/file_read.cpp" 1 error detected in the compilation of "src/file_read.cpp".hoffe ihr könnt mir weiterhelfen.
gruß jens
-
Kannst du ein minimales und vollständiges Codebeispiel posten? Ohne irgendwelche spezifischen Funktionen wie
ilib_terminate(), sondern das kleinstmöglichste Beispiel, das zu dem Fehler führt. Und am besten auch ohne Makefile mit einem direkten Compileraufruf.Übrigens: Der Begriff STL (Standard Template Library) hat sich in der C++-Community so etabliert, dass vor allem die Container, Iteratoren, Algorithmen und Funktionsobjekte darunter fallen. Streams würde ich nicht dazu zählen. Ein etwas weiterer Begriff wäre C++-Standardbibliothek.
-
Hi Nexus
Meine Aufgabe ist es für ein Tilera Multicoreboard Algorithmen zu parallelisieren. Deshalb sind da einfach sehr viele boardspezifische Dinge dabei auf die ich leider nicht verzichten kann. Werde es jetzt einfach mal über ein normales Projekt versuchen, ob ich den Fehler da auch reproduzieren kann.
-
mit g++ lässt es sich leider nicht reproduzieren. also werd ich mir wohl den tilera compiler nochmal genauer anschauen müssen. trotzdem danke für die hinweise
-
jens schrieb:
"/tools/Tilera_MDE/TileraMDE-2.0.0.77314/tilepro/tile/usr/include/cpp/stl/stl/_ios.h", line 47: error: "stlp_std::ios_base::ios_base(const stlp_std::ios_base &)" is inaccessibleDiese Fehlermeldung besagt, daß Streams nicht kopiert werden können - wahrscheinlich hast du irgendwo einen per value an eine Funktion übergeben statt per Referenz.