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++Builder Discussion :

Indy mode console manque fichier


Sujet :

C++Builder

  1. #1
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut Indy mode console manque fichier
    Bonjour,

    J'utilise la lib INdy9 dans un code en mode console avec BDS6 C++ et ca semble fonctionner, mais j'aimerai faire un executable static. La probleme malgré les bonnes options coché dans les options du projet il me repond qu'il manque INDY100.BPL. Je ne sais pas comment linker ce fichier en static dans mon exe.

    Merci de votre aide

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    A partir du moment ou tu as décoché Liens dynamique (dans le linker) et Package ton exe est plus gros mais autonome, c'est tout ce qui a à faire:

    http://c.developpez.com/faq/bcb/?pag...bleindependant

  3. #3
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Exact sauf que si je ne coche pas dans l'onglet Paquets : "Construire avec les paquets d'exécution" ca plante au link.
    Est-ce parce que mon exe est en mode console dos (c.a.d., main()...) ?
    Je ne sais pas!

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Pas logique ton truc, j'ai fais l'essais et ça marche bien, il te manque peut être des Includes ?? (ou alors mauvaise installation de Indy)

    Envoie ton code, si tu le souhaites, je le compile et te dis.

    sinon essayes ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    //#include <vcl.h>
    #pragma hdrstop
     
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <IdBaseComponent.hpp>
    #include <IdComponent.hpp>
    #include <IdMessageClient.hpp>
    #include <IdPOP3.hpp>
    #include <IdTCPClient.hpp>
    #include <IdTCPConnection.hpp>
     
    //---------------------------------------------------------------------------
     
    #pragma argsused
     
    int main(int argc, char* argv[])
    {
     
    TIdPOP3 *PopPerso = new TIdPOP3(NULL);
    PopPerso->Host = "www.toto.com";
    delete PopPerso;
     
    	return 0;
    }

  5. #5
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Voici un zip avec tout
    Si t'arrive à voir ou je me goure merci
    testserveur.zip

  6. #6
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    J'ai essayé ton example, meme résultat, le link ne fonctionne pas.
    Je dois me trompé dans les options du projet, mais ou

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Je te confirme que ton exemple ne fonctionne pas, alors que ton code remis dans un autre projet console(son mon Edi) marche bien.

    je pense que ton installation Indy 9 n'est pas correcte ou bien que tes chemins de recherche ne sont pas bon.

    vérifis que tu as un
    IdTCPServer.dcuil dans Program Files\Borland\BDS\4.0\lib, dans lib\debug
    IdTCPServer.dcu dans ..\lib\indy9 et \lib\debug\Indy9

    et vérifis tes chemins de recherche par défaut dans les option de ton EDI
    ex: $(BDS)\Lib\Indy9

  8. #8
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Question: Utilises-tu une console en C ou C++
    Pourrez-tu me transmettre ton projet entier qui fonctionne
    merci d'avance

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    en C++ bien sur pour pouvoir utiliser les classes et objets;

    J'ai répondu de façon précipitée pour la partie serveur;

    Il est nécessaire d'inclure la directive pragma Link pouir la librairie Indy:
    (vérifier que cela fonctionne bien sur un autre poste sans BCB)
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    //---------------------------------------------------------------------------
     
    #include <vcl.h>
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <IdBaseComponent.hpp>
    #include <IdComponent.hpp>
    #include <IdTCPServer.hpp>
    #pragma hdrstop
    #pragma link "Indy.lib"
     
    //---------------------------------------------------------------------------
     
    #pragma argsused
    int main(int argc, char* argv[])
    {
      TIdTCPServer *TCPServer1;
     
      TCPServer1 = new TIdTCPServer(NULL);
    	TCPServer1->DefaultPort=9191;
    	TCPServer1->TerminateWaitTime=10000;
    	TCPServer1->Active=true;
    	printf("\nAppuyer touche pour fin\n");
    	getchar();
    	TCPServer1->Active=false;
     
    	return 0;
    }
    /
    Une autre solution moins propre est de rajouter une fiche dans ton projet et d'y mettre le composant (c'est lourd, mais vue qu'elle ne sera pas affichée..), cela évite de le créer dynamiquement

    Dernière chose, si tu retire cette fiche du projet, même ensuite en retirant la directive Pragma Link ton code fonctionnera, car le projet aura mémorisé l'encien Link de ton composant sur ta fiche (pas de ménage à ce point).

  10. #10
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Ok j'ai essayé, je pense que je progresse mais j'ai maitenant le message

    [Lieur Erreur fatale] Fatal: Impossible d'ouvrir le fichier 'SYSUTILS.OBJ'

  11. #11
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    ce doit être le Include "VCL.H" qui l'appelle (vire cette ligne).

    Mais pas trop logique tout ça.

    Un conseil refait un projet console complet et copie ton code

  12. #12
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Pas de vcl.h
    J'ai donc refais comme tu dis et recréer un nouveau projet console. Toujours le meme message!

  13. #13
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Ci joint le projet, regarde ce que cela donne chez toi
    Fichiers attachés Fichiers attachés

  14. #14
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Ecoute merci beaucoup ca marche super chez moi.
    J'ai eu beau comparer ta configuration de projet et la mienne , je ne trouve pas de différence.
    Je comprend pas pourquoi ca merde chez moi !!!
    Merci encore de ta patience

  15. #15
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    il doit y avoir une différence au niveau du fichier projet xxx.bdsproj.

    Sinon autrement en statique avec une fiche attachée (et avec la VCL) cela devrait toujours marcher

  16. #16
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    En static avec une fiche vcl, je n'ai jamais eu de probleme à developper en static. En fait jusqu'a présent je ne faisais que ca. C'est en mode console que mes soucis on démarré

  17. #17
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    Je parlais d'ajouter une fiche et le composant en question dans ton projet console.
    cette dernière ne sera pas visible, mais tu pourras utiliser directement les composant placés dessus dans ton projet console.

  18. #18
    Membre éprouvé Avatar de uriotcea
    Homme Profil pro
    Ingénieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par défaut
    Ok, comme cela effectivement ca fonctionne, mais j'ai absolument besoin que mon application ne soit pas Graphique parce que je veux l'utiliser sur un cluster Linux via the cross platforme WINE.
    Et ce cluster n'ayant pas de couche graphique installé, tout doit etre développé en mode console (pas de fenetre, meme caché)

Discussions similaires

  1. Comportement du mode console et du mode fichier
    Par Explorer101 dans le forum Prolog
    Réponses: 1
    Dernier message: 14/07/2009, 14h11
  2. Assistant transfert fichiers et parametres en mode console
    Par nemo69500 dans le forum Windows XP
    Réponses: 2
    Dernier message: 14/07/2008, 20h39
  3. Indy en mode console
    Par uriotcea dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2007, 19h25
  4. Envoie d'email en mode console avec indy
    Par luchoadvance dans le forum Delphi
    Réponses: 3
    Dernier message: 14/03/2007, 08h49
  5. Inclure un fichier son en mode console !
    Par masterix59 dans le forum C
    Réponses: 8
    Dernier message: 01/01/2007, 23h37

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