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

C Discussion :

Utiliser log4c avec du Pro*C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 8
    Par défaut Utiliser log4c avec du Pro*C
    Bonjour,

    Dans le cadre du développement d'un module C/Pro*C pour le boulot, je me bats depuis quelques jours avec le compilation de mon fichier Pro*C.

    L'organisation du module est la suivante :
    c/lib/maLib/maLib.pc
    c/modules/monModule/monModule.c
    c/include/maLib.h

    monModule.c appelle maLib.h

    Tout allait bien jusqu'à ce qu'on décide de logger en utilisant la bibliothèque log4c.

    Depuis, on n'arrive plus à compiler.
    La commande make renvoie toujours l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Erreur de syntaxe à la ligne 581, colonne 58, fichier /opt/log4c/1.2.1.2/include/log4c/category.h:
    Erreur à la ligne 581, colonne 58 dans le fichier /opt/log4c/1.2.1.2/include/log
    4c/category.h
    #  define log4c_category_trace(a_category, a_format, args...) \
    .........................................................1
    PCC-S-02014, Encountered the symbol "..." when expecting one of the following:
     
       , )
    The symbol ")" was substituted for "..." to continue.
    Ce message d'erreur disparaît si on supprime les fonctions Pro*C pour ne garder que les fonctions C et qu'on renomme maLib.pc en maLib.c

    Avez-vous déjà rencontré ce problème ? Savez-vous comment le contourner ?

    Merci

  2. #2
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    PRO*C ne supporte pas le C99 et les macros variadic...

    donc tu wrappes ta lib qui les utilises pour que aucun header C99 ne soit inclus dans des sources pro*c.
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  3. #3
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 8
    Par défaut
    Merci de ta réponse !

    Je ne connais pas les wrappers mais apparemment il faut que :
    - je déplace mes fonctions Pro*C dans un fichier à part, du type monModule.pc - je configure quelque chose comme :
    wrap iname=monModule.pc
    Est-ce que tu sais où je dois mettre ce code wrap ? Quelque part dans mon Makefile ?

  4. #4
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    est ce que ton code pro*c va utiliser les fonction de log4c ?
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  5. #5
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 8
    Par défaut
    Au départ il le faisait mais j'ai tout modifié pour que ça soit indépendant.
    J'ai créé un fichier monModule.pc à part qui n'utilise pas log4c.

    Du coup, un fichier en plus mais finis les problèmes !

    Juste par curiosité, si mes fonctions Pro*C avaient continué à utiliser log4c, sais-tu comment il aurait fallu faire ?

    Encore merci de tes réponses, c'est vraiment sympa :-)

Discussions similaires

  1. Utiliser FLEX avec ADOBE CONNECT PRO
    Par speyron dans le forum Flex
    Réponses: 2
    Dernier message: 11/12/2008, 17h15
  2. [Kylix 3] Je n'arrive pas à utiliser MySQL
    Par usebob dans le forum EDI
    Réponses: 4
    Dernier message: 15/04/2005, 10h18
  3. PB de vue utilisant UNION avec ENTERPRISE MANAGER
    Par punglas dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/12/2004, 15h18
  4. Bi pro sur un mono pro avec WinXP Pro ?????
    Par shkyo dans le forum Composants
    Réponses: 4
    Dernier message: 22/05/2004, 00h26
  5. Réponses: 12
    Dernier message: 02/02/2004, 13h41

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