Pour être dans les mêmes conditions, en natif sur un Raspberry, j'ai tout fait sur ma pauvre bête, sans filtre de la cross-compilation.Pinhapple a écrit : ....
Et je lance le programme avec
Cette dernière commande me renvoie l'erreur suivante :Code : Tout sélectionner
./ProgD
J'imagine que j'ai un ou plusieurs arguments à ajouter à ma commande ?Code : Tout sélectionner
./ProgD: error while loading shared libraries: liblsm9ds1.so: cannot open shared object file: No such file or directory
1) J'ai téléchargé à partir du dépôt dont vous donner le lien.
2) j'ai fait le make et j'obtiens un répertoire pour les includes et un répertoire pour la lib.
3) je suis descendu dans le répertoire example et j'ai fait le make pour obtenir l'exemple.
Résultat: Même ,erreur d’exécution que vous.
Toujours sur mon pauvre Pi B+, j'ai décidé de mettre un peu d'ordre dans ce binz.
J'ai donc copié la bibliothèque dans un endroit plus standard (/usr/lib)
J'ai copié les fichiers d’entêté dans /usr/include
j'ai relancé ldconfig pour prendre tout cela en compte:
Code : Tout sélectionner
$ cd ./lib
$ sudo cp ./*.so /usr/lib/.
$ cd ../include
$ sudo cp ./*.h /usr/include/.
$ sudo ldconfig
La compile se passe bien et, quand je lance l'exemple, j'obtiens bien la réponse attendue car je n'ai pas de gyro sur le port i2c (j'ai pris gcc car l'exemple n'a rien de C++ et le Makefile définit bien CC=gcc !):
Code : Tout sélectionner
$ cd ./example
$ gcc -llsm9ds1 -Wall -O2 LSM9DS1_Basic_I2C.cpp -o LSM9DS1_Basic_I2C
$ ./LSM9DS1_Basic_I2C
$ Failed to communicate with LSM9DS1.