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 :

Compiler sur une autre machine


Sujet :

VC++ .NET

  1. #1
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut Compiler sur une autre machine
    Bonjour tout le monde,
    Voila mon petit problème j'ai développe une application sur un PC depuis quelques mois, et j'aimerais pouvoir développer aussi sur un autre PC. Je synchro mes sources avec SVN j'installe tous les outils qu'il faut sur le 2° PC, Visual C++ SP1 (meme version que celui du 1° PC). Ceci fait je compile mon projet, là aucun problème tout compile bien, je lance et là il me dit qu'il y a un problème de configuration cote à cote... Je vérifie mes DLL externes (les libs que j'ai ajoutés à mon projet qui ont besoin de DLL) tout est là, tout est bien installé. J'essaye de voir d'où vient le problème avec Dependency Walker qui est un peu déprécié à ce que j'ai entendu vu qu'il ne prend pas en compte les manifests (surement la raison pour laquelle il n'est plus inclus avec Visual Studio). Je vois qu'il manque msvcr90 et msvcp90 en gros la lib standard C et C++. Pourtant j'utilise Visual C++ 2008 Pro (qui normalement contient les dll redist) et j'installe aussi VC Redist 2008 histoire d'etre sur d'avoir les bonnes DLL mais rien n'y fait. Pourtant j'ai bien les DLL dans le dossier windows. Par contre si je bouge ces DLL dans le dossier de mon .exe là il me dit qu'il y a une erreur que la configuration est incorrecte...
    Bref y a-t-il une façon de faire particulière, des règles à suivre pour déplacer un code source d'un ordi à l'autre pour pouvoir continuer à dev sur l'autre machine ?

    Merci d'avance

  2. #2
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    Citation Envoyé par oxyde356 Voir le message
    Bref y a-t-il une façon de faire particulière, des règles à suivre pour déplacer un code source d'un ordi à l'autre pour pouvoir continuer à dev sur l'autre machine ?

    Merci d'avance
    Euh a part ce que tu as fait, je dirais, non !
    Avec depends, il ne faut pas faire attention aux dll système liée à Visual, il ne sait pas toujours les trouver dans windows\winsxs.
    Par contre ton erreur "side-by-side" est la cause de ton pb, sur quelle DLL elle est générée ?

  3. #3
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Merci pour ta réponse fregolo52, le gestionnaire d'évènement d'application windows ne me le dis pas ...
    Et depends ne trouve (pas) que les DLL Visual justement donc il ne me donne aucune information pertinente...
    Bon du coup j'ai du m'amuser à commenter des gros morceaux de codes pour voir d'où vient le problème et apparemment ça vient d'une lib compilée ... en statique !
    En gros j'utilise un ensemble de lib (libogg, libtheora, libvorbis) pour faire du streaming de vidéos. Les trois libs sont compilées en statique, donc aucune DLL et sur le premier PC tout marche bien. Sur le deuxième problème de configuration côte à côte ... (qui ne survient pas quand je n'utilise pas ces libs). Je vais essayer de les recompiler mais c'est quand même à n'y rien comprendre. Si quelqu'un a déjà eu ce genre de problème qu'il fasse part de son expérience, je n'aimerais pas avoir à recompiler mon application pour toutes les machines sur lequel il est censé fonctionner (surtout que c'est exactement la même configuration ...)

  4. #4
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    je ne sais plus si l'erreur "side-by-side" peut apparaitre si une dll existe mais n'est pas dans la bonne version.
    Peux-tu nous dire quelles dlls sont jaunes et rouges dans depends ?

  5. #5
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Juste des DLL Visual : MSVCR90 et MSVCP90, il y a un rond jaune avec un point d'interrogation. Pas de DLL en rouge. Et de toute façon la librairie qui fait planter et compilé en statique :/

  6. #6
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    Citation Envoyé par oxyde356 Voir le message
    Et de toute façon la librairie qui fait planter et compilé en statique :/
    Comment sais-tu que c'est elle ?
    Mais si la lib statique a un souci, tu l'aurais vu, non ? Peut-etre pas à la compil mais au link.

    Je sèche !! Essaie de trouver MSVCR90 et MSVCP90 dans ta machine d'origine (c:\windows\winsxs\ ...) et copie les (avec leur manifest) dans le répertoire ton exe sur la 2e machine.

    Ps : tu dis avoir exactement la meme version de VC++ 2008 sur les 2 PC, quid de l'OS ?

  7. #7
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Même OS, Win7 x64.

    En fait je sais que ça vient de la lib parce que quand je commente le code qui l'utilise le programme se lance normalement (à aucun moment j'ai des problèmes de link). Quand je commente ça se lance, quand je décommente ça plante au démarrage avec l'erreur de configuration côte à côte. J'ai compilé la lib sur le premier ordi mais ce n'est pas le genre de lib à rajouter un path vers un dossier où elle aurait mis une dll et c'est elle même qui nomme ses lib avec un suffixe "_static" et aucune DLL n'est produite...

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/12/2008, 13h32
  2. exécution d'un programme compilé sur une autre machine
    Par haorua1983 dans le forum Administration système
    Réponses: 4
    Dernier message: 09/02/2007, 17h25
  3. Réponses: 3
    Dernier message: 07/07/2006, 15h49
  4. comment faire fonctionner l'exe sur une autre machine
    Par brian79 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/05/2004, 14h00
  5. Lancer un programme, mais sur une autre machine
    Par GOUGOU1 dans le forum Réseau
    Réponses: 12
    Dernier message: 08/12/2002, 20h36

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