Guten Morgen,
ich versuche gerade eine .c Datei anzupassen. Wenn ich diese jedoch
compile, sagt er mir, dass die Headerdatei "glib.h" nicht gefunden
wurde, obwohl die Datei in dem Ordner ist, wo ich arbeite.
Neu installieren aller Komponente hat ebenfalls nicht geholfen.
/* gdkconfig.h
*
* This is a generated file. Please modify `configure.ac'
*/
#ifndef _GDKCONFIG_H_
#define _GDKCONFIG_H_
#if !defined (_GDK_H_INSIDE_) && !defined (GDK_COMPILATION)
#error "Only <gdk/gdk.h> can be included directly."
#endif
#include <glib.h>
G_BEGIN_DECLS
#define GDK_WINDOWING_X11
#define GDK_WINDOWING_BROADWAY
#define GDK_WINDOWING_WAYLAND
G_END_DECLS
#endif /* _GDKCONFIG_H_ */
Das ist der Code. Und bei #include <glib.h>
meint er, er könne die Datei nicht finden.
Muss ich da irgendwie root-Rechte aktivieren, damit das Programm auf die
Dateien zugreifen kann?
Über jegliche Anregung bin ich Dankbar.
Viele Grüße
Max
draus.
Bei spitzen Klammern wird in den Standard-Pfaden gesucht (z.B.
/usr/include), bei Gänsen im aktuellen Verzeichnis, bzw. dort, was
mittels der Option -I angegeben wurde.
> draus.>> Bei spitzen Klammern wird in den Standard-Pfaden gesucht (z.B.> /usr/include), bei Gänsen im aktuellen Verzeichnis, bzw. dort, was in> -Ixxxxx angegeben wurde.
Ja das habe ich schon versucht. Jedoch kann ich die Datei nicht
abspeichern, da mir die Berechtigungen fehlen.
Bin noch ziemlich neu mit dem RaspberryPI, ich weiß nicht wie ich mir
die Berechtigungen zur Verfügung stelle.
Über die Terminal-Anwendung wäre das ja ganz einfach per
1
sudo
und dann den BEfehl den man anwenden möchte.
Aber wie geht das bei externen Anwendungen, dass ich dann auch diese
"sudo-Rechte" bekomme, so dass ich Dateien speichern, verschieben kann.
Max U. schrieb:> dass die Headerdatei "glib.h" nicht gefunden> wurde, obwohl die Datei in dem Ordner ist, wo ich arbeite.
Was hat die da zu suchen? Die sollte durch die Insallation des
entsprechenden dev Pakets auf dem System installiert sein, zum Beispiel
libglib2.0-dev oder so ähnlich, dann findet er sie auch mit spitzen
Klammern so wie alle anderen Header auch.
Bernd K. schrieb:> Max U. schrieb:>> dass die Headerdatei "glib.h" nicht gefunden>> wurde, obwohl die Datei in dem Ordner ist, wo ich arbeite.>> Was hat die da zu suchen? Die sollte durch die Insallation des> entsprechenden dev Pakets auf dem System installiert sein, zum Beispiel> libglib2.0-dev oder so ähnlich, dann findet er sie auch mit spitzen> Klammern so wie alle anderen Header auch.
Die habe ich mit dem Terminal dorthin kopiert, als er mir den Fehler
ausgespuckt hat.
Er hatte davor wegen einigen anderen Dateien gemeckert. Nachdem ich
diese dann in das jeweilige Verzeichnis kopiert hatte, war Ruhe. Nur bei
glib.h scheint das nicht so zu funktionieren.
Max U. schrieb:> Die habe ich mit dem Terminal dorthin kopiert, als er mir den Fehler> ausgespuckt hat.> Er hatte davor wegen einigen anderen Dateien gemeckert. Nachdem ich> diese dann in das jeweilige Verzeichnis kopiert hatte, war Ruhe. Nur bei> glib.h scheint das nicht so zu funktionieren.
Mach das alles wieder rückgängig.
Wenn Headerdateien fehlen installierst Du Die mit den entsprechenden
-dev Paketen. Diese Header gehören zur Distribution genau wie die
zugehörigen libs für die sie sind und werden von dieser bereitgestellt,
dann werden sie auch genau in der richtigen Version vorliegen die zu den
zugehörigen libs gehört.
Notfalls mit der Fehlermeldung googeln und dabei Ausschau halten auf
Hinweise welches dev Paket noch installiert werden muss. Die notwendigen
Dateien werden bei der Installation dann alle automatisch in die
richtigen globalen Suchpfade installiert wo Compiler und Linker sie
finden können.
Zum Kompilieren brauchst Du die -dev Pakete und die ziehen auch die
zugehörigen libs mit rein, der Endnutzer der das fertige Programm
einsetzt braucht später nur noch die "normalen" lib Pakete von denen
viele schon installiert sein werden, welche genau das sind und wie die
Pakete heißen mußt Du für die betreffenden libs die Du verwenden willst
einzeln recherchieren.
Wenn Du fremde Software kompilieren willst könnte irgendwo ein README
dabei sein in dem drin steht was alles zum Kompilieren gebraucht wird,
wenn Du Glück hast ist das vollständig, andernfalls anhand der
Fehlermeldungen selber recherchieren.
Max U. schrieb:> Aber wie geht das bei externen Anwendungen, dass ich dann auch diese> "sudo-Rechte" bekomme, so dass ich Dateien speichern, verschieben kann.
ganz einfach, Programm von der Kommandozeile starten und sudo
voranstellen.
sudo nano test.txt
öffnet die Datei Test im Editor Nano mit Root-Rechten.
Max U. schrieb:> Die habe ich mit dem Terminal dorthin kopiert, als er mir den Fehler> ausgespuckt hat.> Er hatte davor wegen einigen anderen Dateien gemeckert. Nachdem ich> diese dann in das jeweilige Verzeichnis kopiert hatte, war Ruhe. Nur bei> glib.h scheint das nicht so zu funktionieren.
Das ist der falsche Weg. Du solltest nicht wild irgendwelche Files
umkopieren, sondern dafür sorgen, dass sie dort erkannt werden, wo sie
normalerweise liegen.
Max U. schrieb:> Ja das habe ich schon versucht. Jedoch kann ich die Datei nicht> abspeichern, da mir die Berechtigungen fehlen.
Das verstehe ich nicht. Warum hast du keine Berechtigungen? Wo liegt
diese gdkconfig.h denn? Du müsstest du doch eigentlich durch configure
erstellt haben. Dann ergibt es aber keinen Sinn, wenn du da keinen
Zugriff drauf hast.
> Bin noch ziemlich neu mit dem RaspberryPI, ich weiß nicht wie ich mir> die Berechtigungen zur Verfügung stelle.
Die braucht man zum compilieren nicht. Höchstens später zum
installieren. Was willst du denn überhaupt machen, und wie versuchst du
das?
> Über die Terminal-Anwendung wäre das ja ganz einfach per sudo und dann> den BEfehl den man anwenden möchte.> Aber wie geht das bei externen Anwendungen, dass ich dann auch diese> "sudo-Rechte" bekomme, so dass ich Dateien speichern, verschieben kann.
Was verstehst du unter "externen Anwendungen"?
Rolf M. schrieb:> Max U. schrieb:>> Die habe ich mit dem Terminal dorthin kopiert, als er mir den Fehler>> ausgespuckt hat.>> Er hatte davor wegen einigen anderen Dateien gemeckert. Nachdem ich>> diese dann in das jeweilige Verzeichnis kopiert hatte, war Ruhe. Nur bei>> glib.h scheint das nicht so zu funktionieren.>> Das ist der falsche Weg. Du solltest nicht wild irgendwelche Files> umkopieren, sondern dafür sorgen, dass sie dort erkannt werden, wo sie> normalerweise liegen.>> Max U. schrieb:>> Ja das habe ich schon versucht. Jedoch kann ich die Datei nicht>> abspeichern, da mir die Berechtigungen fehlen.>> Das verstehe ich nicht. Warum hast du keine Berechtigungen? Wo liegt> diese gdkconfig.h denn? Du müsstest du doch eigentlich durch configure> erstellt haben. Dann ergibt es aber keinen Sinn, wenn du da keinen> Zugriff drauf hast.>>> Bin noch ziemlich neu mit dem RaspberryPI, ich weiß nicht wie ich mir>> die Berechtigungen zur Verfügung stelle.>> Die braucht man zum compilieren nicht. Höchstens später zum> installieren. Was willst du denn überhaupt machen, und wie versuchst du> das?
Also, ich möchte mehrere Sensoren gleichzeitig ausmesssen (0-10V). Dazu
habe ich mir die Messkarte "MCC118 DAQ" zugelegt, die 8 Eingänge hat.
Dazu gibt es auf Github alles Nltige (Libraries, besipiele etc.). Nach
der Anleitung auf Github bin ich auch vorgegangen. So weit so gut...
Wenn ich nur einen Sensor auslese, ist alles perfekt. Die Werte werden
in eine .csv-Datei geschrieben, womit ich dann mit MatLab später die
Analyse durchführe. Wenn ich jedoch mehrere Channels auslesen möchte,
schreibt das Programm die Werte aller Channels in eine Spalte, was dann
folgendermaßen aussieht: ( Spalte 1 Spalte 2
Spalte 3)
Channel1 Channel2 Channel 3
1,5546 1,465 1,4641
1,847 1,847 1,4842
..........
Damit kann MatLab natürlich nicht arbeiten, Deshabl möchte ich die
Datei, die diesen Schreibeprozess durchführt so ändern, dass pro Channel
eine Spalte verwendet wird. Am Ende soll dann sowas bei rauskommen:
Spalte 1 Spalte 2 Spalte 3
Channel1 Channel2 Channel3
xxx xxx xxx
xxx xxx xxx
............
>>> Über die Terminal-Anwendung wäre das ja ganz einfach per sudo und dann>> den BEfehl den man anwenden möchte.>> Aber wie geht das bei externen Anwendungen, dass ich dann auch diese>> "sudo-Rechte" bekomme, so dass ich Dateien speichern, verschieben kann.>> Was verstehst du unter "externen Anwendungen"?
Du hast immer noch nicht erklärt wozu du root-Rechte brauchst beim
Editieren und Kompilieren von selber(!) runtergeladenem Zeugs. Warum
gehört das Zeug plötzlich root, als Du es von github bezogen hast
gehörte es noch Dir! Was hast Du getan?