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 :

C++ programme ne fonctionne plus sur autre PC


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 14
    Points
    14
    Par défaut C++ programme ne fonctionne plus sur autre PC
    Bonjour,
    voila j'ai réalisé un programme en C++ et lorsque je le lance sur un autre PC (sur lequel visual n'est pas installé) , il ne fonctionne plus correctement. En effet, j'ai remarqué que la partie de mon programme consistant à l'écriture dans un fichier texte ne se faisait plus.
    Il semble que les fonctions de fstream (ici .write) ne soient plus réalisées. Dois-je dois ajouter un .dll ou quelque chose du genre pour que cela fonctionne? Merci de me répondre

    Pour utiliser les fonctions write de ofstream, il faut que je mette le DLL MSVCIRTD.dll je l'ai bien mis, mais les fonctions de write ne se font pas sur les autres ordi. Je ne comprends pas. Je peux executer mon programme mais la partie ou il faut ecrire ds le fichier ofstream (avec ofstream.write) ne se fait pas. Le programme ne plante pas non plus.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Si c'était une histoire de DLL tu aurais un message d'erreur au lancement de l'application. On peut voir le code qui ne fonctionne pas ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    le code qui ne fonctionne pas c'est :

    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
    // Création du fichier texte final
     
        fichierTexteFinal.open(nomFichierTexteFinal.c_str());    //ouverture en mode ecriture
        if (fichierTexteFinal.fail())
        {
            cout << "Problème d'ouverture";
        }
     
        std::string temp;
        char conv [33];
        temp=ilot;
     
        fichierTexteFinal.write(temp.c_str(),temp.size());
        for (i=0; i<NbParcelle; i++)
        {
            temp="\n";
            itoa(TabParc[i].NbEpis,conv,10);
            temp+=conv;
            temp+="\t";
            itoa(TabParc[i].MoyenneGrainsEpis,conv,10);
            temp+=conv;
            fichierTexteFinal.write(temp.c_str(),temp.size());
            temp="";
        }
        fichierTexteFinal.close();

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    Si une dll est manquante le programme ne "plante" en fait pas, mais il se termine avec un code d'erreur différent de zéro (en pratique un grand nombre négatif, je ne me souviens plus de la valeur exacte).

    Ma boule de crystal me dit que tu utilises visual studio 2005 et dans ce cas il faut installer vcredist_x86.exe sur la machine cible.
    Attention si tu as installé le service pack 1 pour visual studio ce n'est pas le même exécutable mais vcredist_x86.exe.
    Dans le doute si tu es pressé et/ou que tu as mélangé des bibliothèques compilées avec les deux versions de visual studio tu peux installer les deux.

    MAT.

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 47
    Points : 58
    Points
    58
    Par défaut
    Ne serait-il pas plus simple/possible de recompiler ton programme en linkant les librairies en statique ?
    Au moins, si ça fonctionne ça venait des libs, sinon, tu auras élliminé cette hypothèse, ce qui permettra d'avancer.

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Citation Envoyé par Benjimo
    Pour utiliser les fonctions write de ofstream, il faut que je mette le DLL MSVCIRTD.dll.
    Bzzt!
    Erreur: Tu distribues ton programme en mode Debug, en en plus tu enfreins la licence en distribuant la CRT de débogage.
    Tu dois distribuer ton programme en mode Release.

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

Discussions similaires

  1. Exe ne fonctionne plus sur un autre PC
    Par BasicZX81 dans le forum VB.NET
    Réponses: 15
    Dernier message: 13/07/2012, 09h45
  2. Programme ne fonctionne pas sur d'autres ordinateurs
    Par r0d dans le forum Visual C++
    Réponses: 8
    Dernier message: 16/12/2010, 14h14
  3. Mon programme ne fonctionne plus après mise à jour de linux
    Par dybmans dans le forum GTK+ avec C & C++
    Réponses: 22
    Dernier message: 06/05/2007, 18h08
  4. les actions ne fonctionnent plus sur ma page
    Par SpaceFrog dans le forum Général JavaScript
    Réponses: 47
    Dernier message: 14/11/2005, 13h45
  5. Programme ne fonctionnant que sur certaines machines
    Par Marekh dans le forum DirectX
    Réponses: 14
    Dernier message: 30/08/2005, 14h09

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