none
probleme compilation windows XP/ Windows 7 RRS feed

  • Question

  • Bonjour,

    Je travail sur un projet c++ et ai le souci décris ci-dessous :

    Lorsque le projets est compilé avec Visual studio (c++) 2008 sur une machine Xp l’exécutable fonctionne correctement sur ts les environnements (XP et 7 ..)

    Mais lors de la compilation du même projet sur Visual 2008  et/ou Visual 2012 sur une machine Windows 7 l’exécutable me sort l’erreur suivante sur Windows  XP

    "Cette application n'a pas pu démarrer car framedynos.dll est introuvable. La réinstallation de cette application peut corriger ce problème"

    J’ai cherché sur internet regarder les propriétés du projet ..

    mais pas moyen de résoudre le problème sans prendre la dll framedyn.dll (de windows Xp)et la déplacer dans le répertoire de l’exécutable et renommer en framedynos.dll ce qui n’est pas une solution très propre..

    Auriez-vous déjà rencontré ce problème ou auriez-vous une idée qui peut nous guider vers une solution ?

    Merci

    mardi 28 janvier 2014 11:06

Réponses

  • Bonjour,

    Merci pour votre aide,

    J’ai pu résoudre le problème en installant vs c++ 2005 et en mettant le chemin « C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\Lib »  dans « Répertoires de bibliothèques supplémentaires » de vs c++ 2008.

    • Marqué comme réponse Aurel Bera jeudi 30 janvier 2014 10:03
    mercredi 29 janvier 2014 14:59

Toutes les réponses

  • Avez-vous bien configuré la plateforme cible minimal grâce à la constante de compilation "WINVER" ?

    Je pense que vous avez 2 SDK différents sur les machines, et que la machine cible par défaut est différente entre les 2 SDK.


    Paul Bacelar, Ex - MVP VC++

    mardi 28 janvier 2014 11:28
    Modérateur
  • Bonjour,

    merci pour votre réponse, la plateforme cible minimal est bien configuré j'ai essayé plusieurs combinaisons mais ça ne donne rien


    • Modifié Liesse mardi 28 janvier 2014 14:02
    mardi 28 janvier 2014 14:01
  • Si la cible plateforme cible est bien Windows  XP, elle ne devrait en aucun cas utiliser une lib associée à la dll framedynos.dll.

    Utilisez l'option /P du préprocesseur sur les sources du projet puis recherchez "#pragma comment(lib,framedyn*" dans les .i générés.

    Si vous en trouvez un, vérifiez, grâce aux indications dans le .i, les constantes de compilations erronées qui ont permit cette ligne de #pragma.


    Paul Bacelar, Ex - MVP VC++

    mardi 28 janvier 2014 15:03
    Modérateur
  • Bonjour,

    Merci pour votre aide,

    J’ai pu résoudre le problème en installant vs c++ 2005 et en mettant le chemin « C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\Lib »  dans « Répertoires de bibliothèques supplémentaires » de vs c++ 2008.

    • Marqué comme réponse Aurel Bera jeudi 30 janvier 2014 10:03
    mercredi 29 janvier 2014 14:59
  • C'est donc bien un problème de SDK différent entre les 2 plateformes de compilations.

    Il faut absolument que tout vos environnement de compilation ait le même SDK, donc de préférence le dernier, et configurer le WINVER pour toujours générer un exécutable compatible avec les plateformes cibles.


    Paul Bacelar, Ex - MVP VC++

    mercredi 29 janvier 2014 15:33
    Modérateur