Bonjour à tous et bonne annéée!
Je suis un peu novice et j'ai un problème en voulant utilisée une librairie "en parallèle"
Je m'explique. J'ai un Raspberry sur lequel j'ai installé lalibrarire RadioHead.
https://github.com/hallard/RadioHead
(C'est du LoRa. Cette librarire permet de lire des paquets envoyé par Radio 868Mhz)
En soit cette librarire fontionne bien.
J'ai compilé et j'exécute le fichier qui ce trouve dans
https://github.com/hallard/RadioHead...les/raspi/rf95
(après compilation)
Il m'affiche donc les paquets reçus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo ./rf95_server
J'ai aussi un écran LCE OLED 128x64 sur lequel je souhaite afficher les messages reçus.
Pour cela j'ai encore installé la librairire
https://github.com/hallard/ArduiPi_OLED
et j'arrive avec succès affciher un demo avec le fichier
https://github.com/hallard/ArduiPi_O...aster/examples
Le problème plus concrètement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo ./oled_demo
Apèrs avoir exécuté la commande
je souhaite donc que les messages reçus soit aussi affcihés sur mon écran LCD. (Je dis aussi, car je les lis bien dans mon terminal)
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo ./rf95_server
Il faut aussi savoir que dans /usr/local/include/, j'ai bien ceci
Alors j'ai édité le fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ls -ls /usr/local/include/ total 80 4 -rw-r--r-- 1 root staff 3931 jan 6 22:54 Adafruit_GFX.h 8 -rw-r--r-- 1 root staff 7272 jan 6 22:54 ArduiPi_OLED.h 4 -rw-r--r-- 1 root staff 2474 jan 6 22:54 ArduiPi_OLED_lib.h 64 -rw-r--r-- 1 root staff 61898 jan 6 22:54 bcm2835.h
https://github.com/hallard/RadioHead...client.cpp#L21
et j'ai ajouté à la ligne 21 ceci
Ce qu'il se passe, c'est qu'après avoir ajouter ceci et je compile, j'ai ce message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 /* * OLED */ #include "ArduiPi_OLED_lib.h" #include "Adafruit_GFX.h" #include "ArduiPi_OLED.h" #include <getopt.h> // Instantiate the display ArduiPi_OLED display;
Donc là, je suis largué particulièrement avec cecipierrot@smartidea2:~/Soft/RadioHead/examples/raspi/rf95 $ sudo make
g++ -DRASPBERRY_PI -DBCM2835_NO_DELAY_COMPATIBILITY -D__BASEFILE__=\"rf95_server\" -c -I../../.. rf95_server.cpp
g++ rf95_server.o RH_RF95.o RasPi.o RHHardwareSPI.o RHGenericDriver.o RHGenericSPI.o RHSPIDriver.o -lbcm2835 -o rf95_server
rf95_server.o*: Dans la fonction «*__static_initialization_and_destruction_0(int, int)*»*:
rf95_server.cpp.text+0x438)*: référence indéfinie vers «*ArduiPi_OLED::ArduiPi_OLED()*»
rf95_server.o*: Dans la fonction «*Adafruit_GFX::~Adafruit_GFX()*»*:
rf95_server.cpp.text._ZN12Adafruit_GFXD2Ev[_ZN12Adafruit_GFXD5Ev]+0x30)*: référence indéfinie vers «*vtable for Adafruit_GFX*»
rf95_server.o*: Dans la fonction «*ArduiPi_OLED::~ArduiPi_OLED()*»*:
rf95_server.cpp.text._ZN12ArduiPi_OLEDD2Ev[_ZN12ArduiPi_OLEDD5Ev]+0x38)*: référence indéfinie vers «*vtable for ArduiPi_OLED*»
collect2: error: ld returned 1 exit status
Makefile:45*: la recette pour la cible «*rf95_server*» a échouée
make: *** [rf95_server] Erreur 1
pierrot@smartidea2:~/Soft/RadioHead/examples/raspi/rf95 $
Comment je peux utilisé une libraiire externe à RadioHead, soit ArduiPI_OLED, pour afficher un paquet Radio sur l'ecran LCD?rf95_server.o : Dans la fonction « __static_initialization_and_destruction_0(int, int) » :
rf95_server.cpp.text+0x438) : référence indéfinie vers « ArduiPi_OLED::ArduiPi_OLED() »
Que dois-je faire de plus que d'inclure ArduiPi_OLED?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #include "ArduiPi_OLED_lib.h" #include "Adafruit_GFX.h" #include "ArduiPi_OLED.h" #include <getopt.h>
Je vous remercie pour vos lumières
Partager