none
Compiler en 32bits sous XP x64 ? RRS feed

  • Question

  • Bonjour,

    Voila je suis passé il y a quelque semaine sous XP 64 pour mes besoins personnels (MAO). Cependant j'ai voulu développer un p'tit programme utilisable sur toute platerforme windows (32bits) et evidement ca compile en 64bits par defaut. ainsi comment puis-je compiler en 32bits sous Visual Studio Express 2008 ? J'ai notamment des soucis avec access.

    Merci de voter aide !
    mardi 29 avril 2008 16:13

Toutes les réponses

  • Bonjour,

     

    pour pouvoir compiler en 32bits sur un environnement 64bits il faut passer en argument au compilateur le type de plateforme sur laquelle va devoir s'executer l'application, voici le lien MSDN :

    http://msdn.microsoft.com/fr-fr/library/8ck8e1y2.aspx

     

    En espérant avoir pu vous aider.

     

    Audrey

    mercredi 30 avril 2008 06:24
  • Bonjour,

     

    Sous .NET si vous souhaitez être indépendant de la machine, il faut compiler en AnyCPU (sous les versions Express il me semble qu'il faut utiliser le paramètre /platform comme l'a très bien expliqué Audrey).

    L'avantage de "AnyCPU" est qu'il produit un executable générique qui sera compilé et optimisé selon le processeur utilisé à l'exécution.

    Je vous conseille donc d'utiliser cette option pour votre compilation.

     

    Une petite remarque :

    Compilez explicitement en 32-bit (option x86) pour profiter du Edit & Continue sous Visual Studio avec un OS 64-bit. Le Edit & Continue n'est pas actuellement supporté en 64-bit...

     

    Cordialement

    mercredi 30 avril 2008 08:30
    Modérateur
  • Merci !

    en fait j'ai trouver une autre solution j'espère que c'est pas trop "crade"... j'ai modifier directement mon fichier vbproj en ajoutant x86 !
    mercredi 30 avril 2008 15:18
  • Bonjour,

     

    Plus ou mois, l'idéal (à essayer) est de dupliquer le Property Group (en changeant juste le nom de la plateform de compilation) et de spécifier ce nom de la plateform dans la balise "<platform>x86</plateform>".

     

    Cordialement

    mercredi 30 avril 2008 19:52
    Modérateur
  • Bonjour !

    Voila ce que j'ai concretement fait :

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <OutputPath>bin\Debug\</OutputPath>
    <DocumentationFile>DErI.xml</DocumentationFile>
    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
    <PlatformTarget>x86</PlatformTarget>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DocumentationFile>DErI.xml</DocumentationFile>
    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
    <PlatformTarget>x86</PlatformTarget>
    </PropertyGroup>

    Donc j'ai utilisé le platformtarget !

    Pour le moment a ca semble aller !

    jeudi 1 mai 2008 10:12
  • Cela fonctionne, je l'ai déjà expérimenté. 

     

    jeudi 1 mai 2008 12:03
    Modérateur