Page 1 sur 1

[RESOLU] Compilation ???

Posté : dim. 18 janv. 2015 11:25
par phdenaujan
Bonjour,

J'essaye d’utiliser 433Utils pour piloter des Prises de courant.

Il semble que le signal doit être transmis en 32bit, il est donc nécessaire de modifier la script "codesend.cpp" et le recompiler. C'est là que les problèmes commencent en effet je reçois les messages suivant :

/tmp/cccuYMOs.o: dans la fonction « main »:
telec.cpp:(.text+0x34): référence indéfinie vers « wiringPiSetup »
telec.cpp:(.text+0x70): référence indéfinie vers « RCSwitch::RCSwitch() »
telec.cpp:(.text+0x80): référence indéfinie vers « RCSwitch::enableTransmit(int) »
telec.cpp:(.text+0x98): référence indéfinie vers « RCSwitch::send(unsigned long, unsigned int) »
collect2: ld returned 1 exit status

Dans le langage courant ça veut dire : "Marche po !!!"

Ma question : Mais pourquoi :cry: ?

Re: Compilation ???

Posté : lun. 26 janv. 2015 16:11
par Veloce
Salut,

est-ce que tu as bien installé la bibliothèque WiringPi avant de compiler ton truc ?

Tu la trouveras ici : http://wiringpi.com/download-and-install/

Bon courage

Veloce

Re: Compilation ???

Posté : jeu. 29 janv. 2015 16:45
par phdenaujan
Bonjour,

Oui, elle est installée. Pour ne pas tourner en rond, je suis passé à autre chose. j'y reviendrai plus tard.

Merci.

Re: Compilation ???

Posté : jeu. 26 févr. 2015 15:26
par dbrion0606
Normalement, votre programme n'a pas de problème de Sainte Axe et n'a "qu"'u,n problème d'edition de liens : vous devriez l'invoquer sous la forme :
g++ <nom_du_programme>.cpp -o <nom_du_programme> -lwiringPi
sinon il connaîtra les structures de wiringPi -il les connaît par un include- mais il ne saura pas où trouver les fonctions correspondantes, générant un message d'erreur cryptique. Peut être en est il de même pour la bibliothèque correspondant à RCSswitch?

Re: Compilation ???

Posté : jeu. 26 févr. 2015 17:42
par domi
Bonjour,

J'utilise cette bibliothèque et je n'ai rencontré aucune difficulté particulière.

N'utilisant pas les ports par défaut de la bibliothèque, j'ai modifié les ports wiringpi dans les fichiers "RFSniffer.cpp", "codesend.cpp" et "send.cpp".

Ensuite, il suffit simplement dans lancer la commande

Code : Tout sélectionner

make
La compilation se fait toute seule.

Re: Compilation ???

Posté : ven. 27 févr. 2015 13:41
par dbrion0606
Bonjour;

une référence indéfinie -chez le posteur- , ça veut dire que la bibliothèque nécessaire n'a pas pu être "linkée" -que ce soit par l'étrange magie d'un Makefile ou par compilation manuelle; ceci peut être dû à

a)un makefile mal écrit (très improbable) ou une invocation manuelle incomplète de gcc/g++ ==> dans les deux cas, savoir comment gcc/g++ a été invoqué est nécessaire (les Makefile -s affichent souvent cette invocation, en sus de messages d'erreur cryptiques).

b) le fait que la bibliothèque nécessaire -en l'occurrence wiringPi - ne soit pas dans un emplacement standard (oubli de sudo make install?) Savoir où est libwiringPi.{so,a} **chez le posteur ** est une question légitime (la question de l'existence est résolue par le fait que les header files sont à la bonne place -sinon, la compilation se serait arrêtée bien avant- : mais de fausses manoeuvres étranges sont possibles ou une problème pour certaines versions, et peut être que le posteur serait heureux que les conséquences en soient réduites).

Chez moi, elle est dans un emplacement standard, ce que j'ai pu vérifier -peut être que ça devrait être la première chose à faire - :

*******************************************
pi@raspberrypi ~/wiringPi $ ls -lrt /usr/lib/libwi*
-rw-r--r-- 1 root root 1004268 mai 2 2012 /usr/lib/libwibble.a #sans objet
lrwxrwxrwx 1 root root 34 f�vr. 27 12:17 /usr/lib/libwiringPi.so -> /usr/local/lib/libwiringPi.so.2.25 # celle dont on a besoin
lrwxrwxrwx 1 root root 37 f�vr. 27 12:17 /usr/lib/libwiringPiDev.so -> /usr/local/lib/libwiringPiDev.so.2.25
**********************************

Edité : naturellement, même si la compilation marche "chez moi", je n'enverrai pas par la poste mon RPi .... chercher des explications à un éventuel dysfonctionnement me semble plus légitime et à terme, moins oiseux.

Re: Compilation ???

Posté : lun. 13 avr. 2015 13:51
par phdenaujan
Merci de votre aide.

Ça fonctionne aujourd'hui parfaitement avec une réinstall de l'ensemble des librairies dans "pi".

Cordialement