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 :

Problème de chargement d'un fichier de configuration


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Par défaut Problème de chargement d'un fichier de configuration
    Bonjour à tous

    J'ai un problème à l’exécution du module NatFw nslp de l'application nsis-0.5.0, le fichier de configuration nsis.config ne peut pas être chargé lorsqu'on lance la commande bin/nsis-natfwd, on obtient :

    (crit)
    *** GistException: Unable to load Config File ***
    (crit)
    *** GistException: Please specify one address as the external address in your configuration file ***
    abort

    Voici ci-joint les fichiers utiles de code source ainsi que le fichier de configuration nsis.config.

    Merci d'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Par défaut
    euh, c'est un problème de configuration, pas de programmation...

  3. #3
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Etant donné que tu programmes en C++, pourquoi n'utiliserais tu pas les possibilités offertes par ce langage
    • utilisation de std::string au lieu de (const) char *
    • utilisation de std::ifstream (std::ofstream) au lieu de FILE
    • utilisation (peut etre) de boost::program_option de manière générale


    Cela te simplifierait déjà énormément la tache
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Par défaut
    Citation Envoyé par therwald Voir le message
    euh, c'est un problème de configuration, pas de programmation...
    Merci therwald, mais quelle est l'erreur dans le fichier de configuration? consulter STP le fichier nsis.conf.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Salut,

    Etant donné que tu programmes en C++, pourquoi n'utiliserais tu pas les possibilités offertes par ce langage
    • utilisation de std::string au lieu de (const) char *
    • utilisation de std::ifstream (std::ofstream) au lieu de FILE
    • utilisation (peut etre) de boost::program_option de manière générale


    Cela te simplifierait déjà énormément la tache
    Salut koala et merci pour ta réponse.
    Cette application est ancienne, developpée en 2006 à l'université de Goetingen en Allemagne, elle est de taille de 6 mo avec une centaine de fichiesr de code source, ce n'est pas facile voire pratique de la réécrire toute entière.
    Pour la compiler, j'utilise gcc 4.1 sous debian 4, sinon plusieurs erreurs se produisent.
    Dans les fichiers jointés précédemmment, normalement il y pas d'erreurs, mais pourquoi le fichier de configuration ne peut pas etre chargé?


    Merci

  6. #6
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par n_zerrouki Voir le message
    Salut koala et merci pour ta réponse.
    Cette application est ancienne, developpée en 2006 à l'université de Goetingen en Allemagne, elle est de taille de 6 mo avec une centaine de fichiesr de code source, ce n'est pas facile voire pratique de la réécrire toute entière.
    Je n'ai pas dit de réécrire toute l'application, j'ai parlé de réécrire la partie de l'application qui te pose problème, de la faire évoluer.
    Pour la compiler, j'utilise gcc 4.1 sous debian 4, sinon plusieurs erreurs se produisent.
    Peut etre faudra-t-il, effectivement, faire évoluer d'autres parties de code, histoire de le rendre plus "C++ien", mais chaque chose en son temps

    Le fait de savoir quelles sont les erreurs de compilation pourraient d'ailleurs aider au fait d'apporter une solution
    Dans les fichiers jointés précédemmment, normalement il y pas d'erreurs, mais pourquoi le fichier de configuration ne peut pas etre chargé?
    L'exception te le dit: "unable to load config file " et cette exception est lancée, a priori, dans la fonction loadFile de configFileReader parce qu'elle n'arrive pas à ouvrir le fichier.

    De prime abord, c'est:
    • parce que le nom de fichier transmis en argument est incorrect
    • parce que le fichier de configuration n'est pas à la bonne place
    • parce qu'il y a un problème au niveau du chemin d'accès indiqué pour le fichier
    • parce qu'il est ouvert et "verrouillé" par ailleurs


    Notes enfin que Gcc-4.1 fournissait déjà le support plus que correct pour les classes std::string et pour les flux (de conversion et de fichiers).

    La mise à jour de la seule classe ConfigFileReader afin d'utiliser du vrai C++ au lieu d'utiliser du C pour ainsi dire pure te permettra très certainement d'avancer énormément

    L'énorme avantage, étant donné que tu manipules essentiellement des char*, c'est que le simple fait de les remplacer par références (éventuellement constantes) vers des std::string ne changera que peu l'interface, bien qu'il serait, très certainement, utile de veiller à ce que les variables transmises soient elles meme transformées en std::string
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 20
    Par défaut
    Bonjour Koala

    Je trouve tes conseils très intéressants .
    Merci beaucoup

Discussions similaires

  1. Problème au chargement d'un fichier rc sous KDE
    Par IMS dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 19/06/2009, 15h16
  2. Problème de chargement d'un fichier properties
    Par elitost dans le forum Langage
    Réponses: 8
    Dernier message: 18/05/2009, 00h22
  3. Problème de classpath et de fichier de configuration Spring
    Par rozwel dans le forum Wildfly/JBoss
    Réponses: 13
    Dernier message: 29/12/2007, 17h32
  4. Réponses: 2
    Dernier message: 05/03/2007, 14h21
  5. Problème de chargement d'un fichier XML
    Par PANAYE Nicolas dans le forum XMLRAD
    Réponses: 4
    Dernier message: 25/08/2006, 16h17

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