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

VC++ .NET Discussion :

Probl�me avec tesseract OCR sous Visual c++ 2005


Sujet :

VC++ .NET

  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    34
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 34
    Par d�faut Probl�me avec tesseract OCR sous Visual c++ 2005
    Bonjour tout le monde, je pense que vous le savez d�ja tesseract (logiciel de reconnaissance de carat�re http://sourceforge.net/projects/tesseract-ocr) est devenu libre depuis peu, je l'ai t�l�charg�, le logiciel est pr�tendu �tre multiplatforme (cf documentation fournis avec, d'apr�s cette derni�re le logiciel compile et tourne a la fois sous windows et sous linux). J'ai r�ussie a le faire tourner sous cygwin sans trop d'encombres, des amis a moi le font tourner sans pb sous linux, mais impossible de le compiler sous visual studio 2005 sp1, et ce malgr�s le fichier de projet (visual studio 6 ) fournis avec, j'ai 4 erreurs qui sont en fait les m�mes, les fonctions strrchr et strchr retourne sous unix un char*, et sous visual c++ un const char*. Ce probl�me est mis en �vidence lorsqu'on affecte un const char* a un char*. j'ai eu 2 solutions pour le r�soudre:
    -la premi�re la plus bourrine (a mon image ^^) aller directement modifier le fichier string.h (j'en ai fait une sauvegarde avant quand m�me on se sait jamais...)dans le r�pertoire de visual studio, pour que les fonctions concern�s retournent un char* et non pas un const char*, en tout 2 lignes de modifi�s, le programme compile, l'executable est g�n�r�, mais ne fonctionne pas, et ne renvoie aucun message d'erreur.
    -la 2�me plus fine (ou plut�t moin stupide) consiste modifier les lignes concern�s de fa�on � "gommer" l'erreur, une vingtaines de lignes rajout�s en tout, rien de tr�s compliqu�, �a compile, mais �a ne fonctionne pas et renvoie aucun message d'erreur (j'avais restaur� avant le fichier string.h).

    Est-ce que quelqu'un a �t� confront� a ce probl�me et l'a r�solu, ou sait pertinement que c'est pas la peine d'essayer de le compiler sous visual studio 2005 ?

    D'avance mer�i

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    strchr() et strrchr() retournent un char* en C, mais sont cens�es �tre surcharg�es en C++ pour retourner un char* ou un const char * selon la constance ou non de la cha�ne pass�e en param�tre.

    J'en d�duis donc que tu es en C++.
    Je n'ai pas tesseract, mais si tu modifies les lignes concern�es, on peut voir comment tu fais exactement ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    34
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 34
    Par d�faut
    voi�i la ligne qui pose probl�me : char * arg = strchr (arglist, argv[optind][1]);
    moi je met a la place:
    char*tmp=(char*)malloc( strlen(strchr (arglist, argv[optind][1])) + 1);
    strcpy(tmp,strchr (arglist, argv[optind][1]));
    char* arg=tmp;

    J'avoue c'est pas tr�s �l�gant mais bon :s.

  4. #4
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    1. arglist est donc d�clar� en const char * ?
      J'ignore si c'est standard ou non, mais c'est normal que strchr() ne marche pas l�-dessus : Le fait que �a marchait est une atteinte � la const-correctness. Tu as donc le choix entre deux solutions:
      • remplacer le char* par un const char * si aucune �criture n'est tent�e dessus,
      • ou dupliquer la cha�ne avant d'appeler strchr().
    2. Le malloc()+strcpy() peut para�tre crade en effet. Tu devrais utiliser la fonction strdup() (ou _strdup()) qui fait le travail...
    3. Attention aux fuites de m�moire...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    34
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 34
    Par d�faut
    Oui, le arglist est un const char*

Discussions similaires

  1. R�ponses: 6
    Dernier message: 26/09/2007, 07h55
  2. R�ponses: 1
    Dernier message: 22/08/2007, 15h48
  3. crystal report sous visual studio 2005 avec web form
    Par beabea dans le forum ASP.NET
    R�ponses: 7
    Dernier message: 19/04/2007, 17h13
  4. Probl�me de linkage sous visual studio 2005 sp1 avec gtk+
    Par DarkVenoM dans le forum GTK+ avec C & C++
    R�ponses: 5
    Dernier message: 26/03/2007, 18h50
  5. probl�mes avec un dialogue sous visual 2002
    Par twinseb dans le forum MFC
    R�ponses: 3
    Dernier message: 29/11/2006, 15h59

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