Hallo,
gibt es in der Lib ein SIGNAL, was kommt, wenn Daten empfangen wurden?
Es gibt ja readyRead. Aber das wird bei mir nicht ausgelöst, wenn Daten
kommen. Irgendwie muss man den port noch auf EvenDriven setzen. Aber die
Beispiele, die Ich gefunden habe funktionieren nicht. Also dieses
EventDriven gibt es bei mir nicht.
Vielen Dank
EventDriven .. das kenn ich auch nicht. Es gibt eine Funktion
'bytesAvailable()'. Die kannst du in einem Thread abfragen oder wenns
einfacher sein soll mit einem Timer. Das sind meines Wissens die
Methoden, wie man mit der Klasse arbeiten kann.
Lasse mich aber gerne eines besseren belehren.
Mr. Serial schrieb:
> gibt es in der Lib ein SIGNAL, was kommt, wenn Daten empfangen wurden?> Es gibt ja readyRead. Aber das wird bei mir nicht ausgelöst, wenn Daten> kommen.
Hmm, sicher? Das ist nämlich genau das, was dafür vorgesehen ist.
kann mir sonst mal jemand die Beispiele hoch laden, die kompilieren,
also das mit Event und Portenumerator. Bei beiden bekomme ich trotz
<cstdio> Fehler.
Ok, dann hast du wohl ein anderer Fehler als ich Anfang der Woche...
Poste doch mal deine Fehlermeldung, vielleicht kann dir dann konkreter
geholfen werden.
Ich habe mal mein Projekt hoch geladen. In dem Zustand bekomme ich z.B.
in serialport enumarator einige:
invalid conversion from "BYTE*" to "const char*"
Wenn ich die Dateien aus dem Projekt nehme:
meckert er in den posix Dateien rum, obwohl er die unter Windows gar
nciht includen dürfte. Die auch gelöscht...:
multiple definition auf PortListener...
collect2: ld returned 1 exit status.
Mr. Serial schrieb:
> Ich habe mal mein Projekt hoch geladen. In dem Zustand bekomme ich z.B.> in serialport enumarator einige:>> invalid conversion from "BYTE*" to "const char*">> Wenn ich die Dateien aus dem Projekt nehme:> meckert er in den posix Dateien rum, obwohl er die unter Windows gar> nciht includen dürfte. Die auch gelöscht...:
Die werden normalerweise gar nicht übersetzt. Aber du (oder wer immer
das Beispiel so verändert hat) hast anscheinend die Sourcen aus
QExtSerialPort selbst rausgerissen und dann irgendwie direkt in das
Beispiel reingefummelt. Deshalb werden auch die Posix-Sachen mit
übersetzt.
So ist das überhaupt nicht gedacht.
Das Beispiel scheint aus einem bei QExtSerialPort mitgelieferten
entstanden zu sein. Lade das ganze Ding am besten mal komplett im
Original runter und bau dir dann erstmal die DLL und dann das
Beispielprogramm, damit du eine saubere Ausgansbasis hast.
So also das neuste habe ich jetzt mal unter MacOs getestet. Wenn ich die
src.por compliiere je nach dem, ob ich CONFIG += staticlib setze oder
nicht:
libqextserialportd.a
libqextserialportd.1.2.0.dylib
libqextserialportd.1.2.dylib
libqextserialportd.1.dylib
libqextserialportd.dylib
Wenn ich jedoch die Beispiele starte kommt zur Laufzeit:
Library not loaded: libqextserialportd.1.dylib
und das Programm stützt ab.
Der Fehler kommt, weil die Lib nicht in einem Standard-Library-Pfad
liegt und deshalb nicht gefunden wird. Wie das beim Mac geht, weiß ich
nicht.
Unter Linux kannst du die Environment-Variable LD_LIBRARY_PATH auf das
Verzeichnis setzen, wo die Lib liegt, um sie zu finden oder sie in einen
Standard-Lib-Pfad wie /usr/local/lib kopieren und dann als root ldconfig
ausführen. Beim Mac wird's ähnlich sein.
Und wenn ich das statisch linke, was mir eh lieber ist habe ich ja eine
libqextserialportd.a. Da müsste es doch reichen, diese in das
Beispielverzeichnis zu kopieren und libs+=libqextserialportd machen,
oder?
Mr. Serial schrieb:
> Und wenn ich das statisch linke, was mir eh lieber ist habe ich ja eine> libqextserialportd.a. Da müsste es doch reichen, diese in das> Beispielverzeichnis zu kopieren und libs+=libqextserialportd machen,> oder?
Müßte eigentlich auch ohne gehen, wenn nur die statische da ist.
Wenn ich die statische habe kommt immer noch der Fehler mit der
dynamischen. Wo muss die statische denn rein? Ins src/build oder direkt
ins Beispiel Verzeichnis?
Also ich habe es gerade noch einmal unter Windows probiert. Da
funktioniert es auch nicht, wenn ich statisch linke. Kann das sonst
jemand mal auf seinem System testen, das statische Linken?