std::basic_string fehler
-
Wo genau verwendest du eigentlich iostream's oder string's? (beim ersten Überblick habe ich nichts gesehen)
Zu den Meldungen über CCOMPort::CComPort() - die treten auf, weil du die ComPort-Klasse nicht mit an den Linker übergeben hast.
-
Wie übergeb ich sie andem linker??
und zu dem Rest:
ich hab den include der iostream weggelassen und schon muckt er nicht mehr
das wars wohl
aber
-
Eigentlich sollte es gehen, wenn du dem Compiler alle beteiligten CPP's mitgibst.
-
Hat hingehaun..Jetzt bleibt noch die fehlermeldung
sendstream.o:sendstream.cpp:(.text+0x4ba): undefined reference to `___gxx_personality_sj0'
-
Der Fehler komtm wenn ich jetzt auch ein Objekt deklariereen möchte
CCOMPort Neu;
-
Der Ausdruck sieht insgesamt folgendeer Maßenb aus, wenn ich
CCOMPort Neu;
deklariere:
sendstream.o:sendstream.cpp:(.text+0x4ba): undefined reference to `___gxx_personality_sj0'
collect2:ld gab 1 als ENDE-Statud zurückDanke
-
Samuela schrieb:
Der Ausdruck sieht insgesamt folgendeer Maßenb aus, wenn ich
CCOMPort Neu;
deklariere:
sendstream.o:sendstream.cpp:(.text+0x4ba): undefined reference to `___gxx_personality_sj0'
collect2:ld gab 1 als ENDE-Statud zurückDanke
Das ist nicht nur eine Deklaration sondern auch eine Definition; hier wird implizit der Standardkonstriktor von CCOMPort aufgerufen, wie ich bereits geschrieben hatte.
Wenn Du mit dem gcc arbeitest solltest Du zum Linken g++ aufrufen; dann werden die richtigen libs hinzugebunden.
Allgemein vermute ich dass Du einfach
gcc sendstream.cppaufrufst.
Das ist zu wenig; Du musst ertmal alle Dateien kompilieren und dann die Module Binden.gcc -c sendstream.cpp gcc -c COMPort.cpp g++ sendstream.o ComPort.o -o a.outDessweiteren sollte man _NICHT_ <string.h> verwenden, schon gar nicht zusammen mit <iostream> verwenden;
der neue header heisst einfach <string>Grüsse
*this
-
Gast++ schrieb:
_NICHT_ <string.h> verwenden,
aber das brauch ich doch für strcpy LOL
-
Es funktioniert danke,danke,danke
-
Der neue Header anstelle von string.h heißt cstring und sollte natürlich verwendet werden.
-
Braunstein schrieb:
Der neue Header anstelle
Wenn Du schon Spass daran hast meine Beiträge zu lektorieren, dann bitte richtig - "anstelle von " war dan irgends zu lesen.
Stell mal eine Hypothese auf, warum die OP <string.h> inkludiert und dann lies das es nochmal durch.
Braunstein schrieb:
von steht doch steht doch
string.h heißt cstring und sollte natürlich verwendet werden.Von "sollen" kann da ohne weiteres gar keine Rede sein.
Verwenden "soll" man wol eher <string> und auf C-Strings verzichten.Dass ist immer das Problem mit Hobby-Lektoren in Foren; Aussagen aus dem Kontext zu reissen bringt ja vielleicht intellektuelle Genugtuung aber lösst nicht das Problem des OP.
Mir erscheint das immer als Überkompensation von Kommunikationsd3efiziten der "Lektoren". Es st kein Zeichen von Intelligenz etwas nicht zu verstehen.Problemlösend arbeiten meist die Autoren, nicht die Lektoren.
Lösungskompetenz wird zum Glück besser bezahlt.Grüsse
*this
-
Es war folgendes zu lesen
Dessweiteren sollte man _NICHT_ <string.h> verwenden, schon gar nicht zusammen mit <iostream> verwenden;
der neue header heisst einfach <string>Daraus habe ich entnommen, dass du die Verwendung von string statt string.h empfiehlst (was falsch ist). Daraus ist nicht zu ersehen, dass du eigentlich die Verwendung von std::string statt char* meinst.
Ich habe also nichts aus dem Kontext gerissen, du bist nur ziemlich empfindlich.
-
Braunstein schrieb:
Es war folgendes zu lesen
Dessweiteren sollte man _NICHT_ <string.h> verwenden, schon gar nicht zusammen mit <iostream> verwenden;
der neue header heisst einfach <string>Daraus habe ich entnommen, dass du die Verwendung von string statt string.h empfiehlst (was falsch ist).
Nein, das ist sogar sehr richtig - die Verwendung von string ist der Verwendung von string.h vorzuziehen.
Es sei denn man man Zeigerarithmetik.Braunstein schrieb:
Daraus ist nicht zu ersehen,
Was Du ersehen kannst ist gewiss kein Massstab. Ganz offensichtlich nicht.
Braunstein schrieb:
dass du eigentlich die Verwendung von std::string statt char* meinst.
Du implizierst etwas albern.
Braunstein schrieb:
Ich habe also nichts aus dem Kontext gerissen, du bist nur ziemlich empfindlich.

Ist das Deine praktische Übung zu "Polemik für Dummies"?
Grüsse
*this