IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Programmation C OneWire


Sujet :

Raspberry Pi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 33
    Points
    33
    Par défaut Programmation C OneWire
    Bonjour,

    J'ai installé Dallas OneWire sur un Raspberry Pi en USB (owfs-2.8p15.tar.gz ...)
    Je détecte bien mes composants /mnt/1wire/ ...
    Quand j'essaie un prog mini en c (avec Geany et gcc):
    ...
    #include <owcapi.h>
    ...
    OW_init("usb");
    OW_set_error_print("2");
    ...
    Tout va bien quand je compile, j'obtiens bien le .o
    mais quand je construit j'ai : undefined reference to 'OW_init'
    par exemple pour toutes mes fonctions appelées du type OW_.

    Merci.

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Il manque une option du linker pour lui dire de prendre la bibliothèque utilisée. Voir du côté de -l (L minuscule) pour ajouter une bibliothèque et -L pour ajouter le chemin vers la bibliothèque si celle-ci n'est pas située dans une chemin "standard" de recherche du linker. Voir par exemple ici : http://gradot.wordpress.com/2013/11/...statique-en-c/

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 33
    Points
    33
    Par défaut
    Merci.
    je n'y suis pas arrivé comme ça, mais en créant un makefile partiellement trouvé sur internet :

    CFLAGS = -g -I/usr/include
    OBJS = Essai_1.o
    all: Essai_1
    # Compile-flags for Linux and Cygwin
    LDFLAGS = -L/usr/lib -Wl,--rpath -Wl,/usr/lib -lowcapi
    Essai_1: $(OBJS)
    gcc $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
    %.o: %.c
    gcc $(CFLAGS) -c -o $@ $<
    clean:

    Si ça peut aider qqun.

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Regarde bien ce que contient LDFLAGS : -l et -L

    Sauf si le second -Wl fait le taff que ne ferait le -L mais je pense que les 2 options sont redondantes.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 33
    Points
    33
    Par défaut
    En effet, ça marche,
    mon construire ds Geany :
    gcc -Wall -o "%e" "%f" -L/usr/lib -Wl,--rpath -Wl,/usr/lib -lowcapi

    Merci.

  6. #6
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    De rien

    Bon courage pour la suite.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  2. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  3. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  4. Comment débuter en programmation ?
    Par Marc Lussac dans le forum Débuter
    Réponses: 0
    Dernier message: 08/04/2002, 11h29
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo