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

Visual C++ Discussion :

Probleme de crt?


Sujet :

Visual C++

  1. #1
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut Probleme de crt?
    Bonjour a tous

    J'ai récemment recompilé mon projet en multi thread dll (MtD) celui ci étant en Mt jusqu'à présent (j'ai donc recompilé ttes les libs en MtD). Hors, il s'exécute maintenant sur certains postes et pas d'autre (n'est pas reconnu comme un exécutable valide). Cela semble indépendant de la version de Windows (compilé sous 2000, marche sur un xp mais pas un autre). SI quelqu'un a une idée, je suis preneur

    ciao

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    /MtD n'existe pas à ma connaissance.
    Par contre, /MTd existe, et c'est "Multithread static Debug".

    Si tu veux tu "Multithread DLL", il faut utiliser /MD...

    PS: Quelle version de Visual ? VC6 ?
    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 expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    Oups, autant pour moi c'est Md effectivement. J'utilise Visual 2005
    ps: je confond un peu majuscule/minuscule...

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Le paquetage redistribuable de Visual 2005 est-ils installé sur toutes les machines ?
    (PS: Il est possible qu'il soit nécessaire de redémarrer l'ordinateur après l'installation, même si l'installeur ne le dit pas).
    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 expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    En fait, le problème semble indépendant de la crt, ça bug aussi en Mt sur les mêmes ordi (xp). Désespoir...

    Non, maintenant que tu le dis, ca ne marche que sur les ordis ayant visual d'installé (version 2005 toujours). Ça viendrait d'une question de code managé ou pas ?

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    C'est bien du 32 bits partout, ou il y a des XP 64 bits dans le lot ?
    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.

  7. #7
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    c'est des xp professionnel de base, 32 bits tt les deux

  8. #8
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    Bon, ya du nouveau, j'ai recompilé le prog sur un ordi sous xp, ca marche maintenant sur un des deux autres ordi xp, il en reste un qui pose probleme. A noter que le seul ordi qui refuse l'executable est egalement le seul ne possedant pas visual d'installer.

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    T'es sûr que tu compiles bien en Release?
    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.

  10. #10
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Tu peux compiler sous 2000, Xp ou Vista le fait est que les applications créées avec Visual C++ 2005 utlisent la version 8.0 du CRT. Si le système sur lequel tu exécutes ton appli dispose de cette version du CRT (C:\WINDOWS\WinSxS\VC80.CRT\msvcr80.dll, ou peut-être dans system32), il n'y aura aucun problème. Sous Vista et XP SP 2 cest bon. Pour les autres tu dois redistribuer les redistribuables (ou installer VC2005 ).

  11. #11
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    vivi je compile bien en release, et effectivement, il s'agit bien d'un probleme venant de msvcr80.dll (erreur R6034 quand je lance l'appli). Mais meme avec la version redistribuable (prise dans les dossier de visual, j'ai essayé ttes celles que j'ai trouvé), ca bug. Je vais chercher sur internet si ya pas une ultime dll qui marche dans tout les cas

  12. #12
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    Ok, probleme resolu, voici l'astuce (un poil foireuse) trouvée: il faut copier les dossiers <repertoire d'install de visual>\VC\redist\x86\Microsoft.VC80.CRT
    et <repertoire d'install de visual>\VC\redist\x86\Microsoft.VC80.CRT dans le dossier contenant votre executable. Assurez vous egalement de bien avoir le fichier .manifest generé avec votre executable (dans le dossier release avec votre executable). Normalement, tous marche avec ca. Copier les dll sauvagement dans le dossier de l'executable comme je faisais ne marche pas, il faut absolument les .manifest qui indiquent les dll à charger et leur emplacement.

    Merci à tous et à + !

  13. #13
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Je rappelle qu'il y a un forum dédié à Visual C++.

  14. #14
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Citation Envoyé par vikki Voir le message
    Ok, probleme resolu, voici l'astuce (un poil foireuse) trouvée: il faut copier les dossiers <repertoire d'install de visual>\VC\redist\x86\Microsoft.VC80.CRT
    et <repertoire d'install de visual>\VC\redist\x86\Microsoft.VC80.CRT dans le dossier contenant votre executable. Assurez vous egalement de bien avoir le fichier .manifest generé avec votre executable (dans le dossier release avec votre executable). Normalement, tous marche avec ca. Copier les dll sauvagement dans le dossier de l'executable comme je faisais ne marche pas, il faut absolument les .manifest qui indiquent les dll à charger et leur emplacement.
    Autrement dit :
    Citation Envoyé par Melem
    tu dois redistribuer les redistribuables
    msvcr80.dll est nécessaire à l'exécution car elle contient le code des fonctions printf, scanf, ... bref les fonctions du C. Si tu compiles avec VC6 tu n'as pas besoin de cette DLL car tes applications utiliseront msvcrt.dll (livré avec toutes les versions de Windows) et non msvcr80.dll (version 8 du CRT, VS2008 utilise la version 9 [msvcr90.dll] ...). Quant au manifest, ça sert justement à indiquer quelle version du CRT l'application utilise-t-elle (de plus on n'a pas besoin de traîner ce fichier car il est déjà embarqué dans l'exécutable, sauf si tu as changé les options du linkeur) ...

  15. #15
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Citation Envoyé par vikki Voir le message
    Ok, probleme resolu, voici l'astuce (un poil foireuse) trouvée: il faut copier les dossiers <repertoire d'install de visual>\VC\redist\x86\Microsoft.VC80.CRT
    et <repertoire d'install de visual>\VC\redist\x86\Microsoft.VC80.CRT dans le dossier contenant votre executable. Assurez vous egalement de bien avoir le fichier .manifest generé avec votre executable (dans le dossier release avec votre executable). Normalement, tous marche avec ca. Copier les dll sauvagement dans le dossier de l'executable comme je faisais ne marche pas, il faut absolument les .manifest qui indiquent les dll à charger et leur emplacement.

    Merci à tous et à + !
    Je te rassure ton astuce est sûrement foireuse et ne devrait pas être utilisée.

    Je me souviens d'un problème identique au tiens. Je compilais des appli avec VC++ 2005. J'installais les redist, tout allait bien.

    Puis un jour, tout allait mal...

    En fait j'avais upgradé VC++ 2005 avec le SP1, et il était nécessaire d'utiliser les redist version SP1. Les redist de VC++ 2005 d'avant, ça ne marchait pas.

    Depuis, plus de problème avec les redistribuable et les applications.

    Et autre chose, il me semble que les redistribuable VC++ 2005, ne sont supportés qu'à partir de windows XP SP2...

    PS: ce post devrait être déplacé dans le forum VC++, comme suggéré par Loufoque.

  16. #16
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par défaut
    Si, si, les deux méthodes sont bonnes: Installer le paquetage redistribuable entier, ou juste joindre au programme les redistribuables nécessaires avec leur manifeste.
    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.

  17. #17
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Bonjour.

    Effectivement, ça semble possible, mais la seule et unique fois où j'ai essayé, parce que après j'ai arrêté, c'était sur un PC à l'étranger (à distance par ADSL). Le gars a été obligé de réinstaller son système...

    D'ailleurs j'ai l'impression de ne pas être le seul :

    http://www.developpez.net/forums/sho...39&postcount=4

    Mais peut-être que l'on s'y prends comme des manches.

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

Discussions similaires

  1. probleme ecran plat, ecran crt
    Par Adren dans le forum Périphériques
    Réponses: 3
    Dernier message: 08/02/2007, 13h47
  2. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  3. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

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