Guten Abend,
ich versuche ein Programm zu schreiben, daß auf den gpsd-Daemon zugreift. Um
den nutzen zu könne, muss ich "gps.h" einbinden, wenn ich das richtig
verstanden habe.
Ich habe das schon letzte Woche versucht, aber nie hinbekommen, jetzt hab ich
den Quellcode von xgpsspeed.c genommen und den Code, der für dei Grafik
zuständig war rausgelöscht. Gebracht hat es leider nichts, da ich immernoch
den selben Fehler: undefined reference to `gps_open'. "gps_open" liegt in der
"gps.h"
#include <iostream>
#include <cstdlib>
#include
gibt es gpsd libraries, die dazu gelinkt werden muessen? ng martin On Fri, 2004-11-19 at 18:52, Frederic Wiesenbach wrote:
Guten Abend,
ich versuche ein Programm zu schreiben, daß auf den gpsd-Daemon zugreift. Um den nutzen zu könne, muss ich "gps.h" einbinden, wenn ich das richtig verstanden habe. Ich habe das schon letzte Woche versucht, aber nie hinbekommen, jetzt hab ich den Quellcode von xgpsspeed.c genommen und den Code, der für dei Grafik zuständig war rausgelöscht. Gebracht hat es leider nichts, da ich immernoch den selben Fehler: undefined reference to `gps_open'. "gps_open" liegt in der "gps.h"
#include <iostream> #include <cstdlib> #include
#include #include #include #include #include #include "gps.h" static struct gps_data_t *gpsdata;
int main(int argc, char **argv) { int option; char *colon, *server = NULL; char *port = DEFAULT_GPSD_PORT; gpsdata = gps_open(server, DEFAULT_GPSD_PORT); //gps_set_raw_hook(gpsdata, update_display); //gps_query(gpsdata, "w+x\n"); gps_close(gpsdata); return 0; }
Wüsste ich echt gerne das mal hinbekommen, wäre schön, wenn jemand ne Lösung hätte.
Grüße & schönes Wochenende, Freddy
Frederic Wiesenbach
Das einzige, was ich noch eingebunden habe, ist die gps.h.
Und woher soll dann der Code für gps_open kommen? Wieso meinst du, dass das Einbinden eines Headers magischerweise den Code mitliefert? In (C) Headern enthalten normalerweise keinen Code, den liefert eine Bibliothek und die muss man dann ebenfalls einbinden. Philipp
Am Samstag, 20. November 2004 14:34 schrieb Philipp Thomas:
Frederic Wiesenbach
[19 Nov 2004 19:26:37]: Das einzige, was ich noch eingebunden habe, ist die gps.h.
Und woher soll dann der Code für gps_open kommen? Wieso meinst du, dass das Einbinden eines Headers magischerweise den Code mitliefert?
In (C) Headern enthalten normalerweise keinen Code, den liefert eine Bibliothek und die muss man dann ebenfalls einbinden.
Hi, das hat mich auch gewundert. Hatte einen Text gelesen, in dem stand, man müsse (nur) die gps.h einbinden. Ist das erste mal, daß ich auf externen Code angewiesen bin, habe da -wie gesagt- noch keine Erfahrung. Grüße, Freddy
Am Samstag, 20. November 2004 14:34 schrieb Philipp Thomas:
Frederic Wiesenbach
[19 Nov 2004 19:26:37]: Das einzige, was ich noch eingebunden habe, ist die gps.h.
Und woher soll dann der Code für gps_open kommen? Wieso meinst du, dass das Einbinden eines Headers magischerweise den Code mitliefert?
In (C) Headern enthalten normalerweise keinen Code, den liefert eine Bibliothek und die muss man dann ebenfalls einbinden.
Hi, wüsste jetzt jemand, was ich einbinden muss, ich finde nichts was funktioniert und auch leider keine zufriedenstellende Hilfe. Vllt. kennt sich jemand aus. Wäre nett. Grüße, Freddy
Am Sonntag, 21. November 2004 15:39 schrieb Philipp Thomas:
Frederic Wiesenbach
[21 Nov 2004 09:22:09 +0100]: wüsste jetzt jemand, was ich einbinden muss, ich finde nichts was funktioniert und auch leider keine zufriedenstellende Hilfe.
Aus welchem Paket kommt gps.h?
Kommt ais gpsd. Grüße, freddy
Frederic Wiesenbach schrieb:
ich versuche ein Programm zu schreiben, daß auf den gpsd-Daemon zugreift. Um den nutzen zu könne, muss ich "gps.h" einbinden, wenn ich das richtig verstanden habe. [...] Fehler: undefined reference to `gps_open'.
Probier mal bei der Generierung den Parameter -lgps mit anzugeben.
"gps_open" liegt in der "gps.h"
Nein, in der gps.h liegt nur die _Deklaration_ von gps_open(). Der eigentliche Code liegt in einer Bibliothek, die vermutlich libgps.a heißt. -- Tilman Schmidt t.schmidt@phoenixsoftware.de Phoenix Software GmbH Tel. +49 228 97199 0 Adolf-Hombitzer-Str. 12 Fax +49 228 97199 99 53227 Bonn, Germany http://www.phoenixsoftware.de
Am Montag, 22. November 2004 14:01 schrieb Tilman Schmidt:
Frederic Wiesenbach schrieb:
ich versuche ein Programm zu schreiben, daß auf den gpsd-Daemon zugreift. Um den nutzen zu könne, muss ich "gps.h" einbinden, wenn ich das richtig verstanden habe. [...] Fehler: undefined reference to `gps_open'.
Probier mal bei der Generierung den Parameter -lgps mit anzugeben. [...] Wo stelle ich das bei KDevelop ein? Hab schon gesucht habe aber keine Antwort gefunden. Hoffe das war es dann. Aber schonmal danke für die Antworten. Schönen Abend noch, Freddy
Am Montag, 22. November 2004 14:01 schrieb Tilman Schmidt:
Frederic Wiesenbach schrieb:
ich versuche ein Programm zu schreiben, daß auf den gpsd-Daemon zugreift. Um den nutzen zu könne, muss ich "gps.h" einbinden, wenn ich das richtig verstanden habe. [...] Fehler: undefined reference to `gps_open'.
Probier mal bei der Generierung den Parameter -lgps mit anzugeben.
"gps_open" liegt in der "gps.h"
Nein, in der gps.h liegt nur die _Deklaration_ von gps_open(). Der eigentliche Code liegt in einer Bibliothek, die vermutlich libgps.a heißt.
Ja, habe es irgendwie überlesen gehabt. Habe die Linker-Option angegeben, jetzt sagt er mir immernoch, daß er gps_open net findet. Ich weiß echt nicht weiter. Grüße, Freddy
Frederic Wiesenbach schrieb:
Am Montag, 22. November 2004 14:01 schrieb Tilman Schmidt:
Frederic Wiesenbach schrieb:
ich versuche ein Programm zu schreiben, daß auf den gpsd-Daemon zugreift. Um den nutzen zu könne, muss ich "gps.h" einbinden, wenn ich das richtig verstanden habe. [...] Fehler: undefined reference to `gps_open'.
Probier mal bei der Generierung den Parameter -lgps mit anzugeben.
"gps_open" liegt in der "gps.h"
Nein, in der gps.h liegt nur die _Deklaration_ von gps_open(). Der eigentliche Code liegt in einer Bibliothek, die vermutlich libgps.a heißt.
Ja, habe es irgendwie überlesen gehabt. Habe die Linker-Option angegeben, jetzt sagt er mir immernoch, daß er gps_open net findet. Ich weiß echt nicht weiter.
Sorry für die Pause. Hatte gehofft, irgendjemand anderes würde mal antworten, da ich hier nur mit allgemeinen Grundkenntnissen aushelfe und selbst weder gpsd noch KDevelop kenne. Was sagt er denn zu der Linker-Option? Kommt sie auf der Kommandozeile von "ld" an? Findet "ld" die libgps.a oder meckert er, dass es die nicht gebe? Was sagt "rpm -ql" zu dem gpsd-Paket, sind da irgendwelche Libs dabei? Oder gibt es da ein separates -devel-Paket, das Du nicht mit installiert hast? -- Tilman Schmidt t.schmidt@phoenixsoftware.de Phoenix Software GmbH Tel. +49 228 97199 0 Adolf-Hombitzer-Str. 12 Fax +49 228 97199 99 53227 Bonn, Germany http://www.phoenixsoftware.de
participants (4)
-
Frederic Wiesenbach
-
Martin
-
Philipp Thomas
-
Tilman Schmidt