staging.inyokaproject.org

c #include

Status: Ungelöst | Ubuntu-Version: Ubuntu MATE 18.04 (Bionic Beaver)
Antworten |

jochenv

Anmeldungsdatum:
23. April 2016

Beiträge: 670

Hallo Gemeinde,

ich bin hier ein wenig am basteln und möchte mit gcc ein Programm kompilieren.

In der Programm-Datei ist angegeben

1
2
3
4
/*************************(Importieren der genutzten Bibliotheken)*************************/
#include <Keypad_I2C.h>
#include <Keypad.h>        
#include <Wire.h>

die zusätzlich benutzten Bibliotheken ligen aber in ./Bastelgarage_FTP_Arduino_Keypad_PCF8574_V1/i2c_keypads_librarys/Keypad_I2C/

Frage wie muss ich den include Eintrag verändern damit der Bibliothek liest ?? Ich habe alle Möglichkeiten durch und komme nicht weiter und möchte die Bibliotheken auch nicht in das Stammverzeichnis oder in /usr/ kopieren.

Gruß Jochen

NORACSA

Anmeldungsdatum:
31. Januar 2010

Beiträge: 182

Auf "Bastelgarage_FTP_Arduino_Keypad_PCF8574_V1/i2c_keypads_librarys/Keypad_I2C/[hier Header-Datei eintragen]". Mit Anführungszeichen wird zuerst im eigenen Verzeichnis geschaut.

jochenv

(Themenstarter)

Anmeldungsdatum:
23. April 2016

Beiträge: 670

Hallo

du meintest das so ...

1
2
3
4
/*************************(Importieren der genutzten Bibliotheken)*************************/
#include "Bastelgarage_FTP_Arduino_Keypad_PCF8574_V1/i2c_keypads_librarys/Keypad_I2C/Keypad_I2C.h"
#include <Keypad.h>        
#include <Wire.h>

sieht dann so aus

1
2
3
4
5
6
7
jochen@rpi2:~/i2c/k$ gcc -o beispiel_1 beispiel_1.c 
In file included from beispiel_1.c:27:0:
Bastelgarage_FTP_Arduino_Keypad_PCF8574_V1/i2c_keypads_librarys/Keypad_I2C/Keypad_I2C.h:35:10: fatal error: Keypad.h: No such file or directory
 #include "Keypad.h"
          ^~~~~~~~~~
compilation terminated.
jochen@rpi2:~/i2c/k$ 

Die Datei liegt aber dort.

Gruß Jochen

NORACSA

Anmeldungsdatum:
31. Januar 2010

Beiträge: 182

Ähm...jetzt passiert der Fehler in der Bastelgarage_FTP_Arduino_Keypad_PCF8574_V1/i2c_keypads_librarys/Keypad_I2C/Keypad_I2C.h, die korrekt eingebunden wird. Nämlich in dieser Datei in Zeile 35...

jochenv

(Themenstarter)

Anmeldungsdatum:
23. April 2016

Beiträge: 670

hallo NORACSA,

ok ... jetzt habe ich es ....

das steht dann drin

1
2
3
4
5
6
7
*/

#ifndef KEYPAD_I2C_H
#define KEYPAD_I2C_H

#include "Keypad.h"
#include "Wire.h"

kann man den Path bzw. die Pathe nicht in der Beispiel.c reinschreiben, dass er dort sucht ...?

Gruß Jochen

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11278

Die Verzeichnisse in denen Header-Dateien gesucht werden sollen musst du nicht mit Pfaden, die zufällig zu deinem System passen, im Code verankern, sondern du kannst sie auch dem Compiler mittels -I mitgeben - vgl. https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#Invocation (nach "-I dir" suchen) - oder du nutzt etwas wie die Arduino IDE, das die Details vor dir versteckt - aber auch da würde man es sehen, wenn man sich die Compiler-Ausgabe anzeigen lässt (muss in den Einstellungen extra aktiviert werden).

Antworten |