2011-10-17 7 views
5

Sto provando a migrare un progetto multiplo da VC++ 2005 a VC++ 2010 e ho anche bisogno di effettuare il porting di questa applicazione dalla piattaforma Win32 a x64.Come targetizzare entrambe le piattaforme Win32 e x64 con SOLO un set di file di soluzione/progetto?

So che un file di progetto può contenere le impostazioni per entrambe le piattaforme, ma richiede che io debba cambiare manomamente l'impostazione platfrom per ogni progetto dire se voglio costruire per x64.

Quello che voglio fare è avere SOLO un set di file di soluzione/progetto che possano indirizzare entrambe le piattaforme, e con una specie di semplice switch posso scegliere quale piattaforma sto costruendo ora. Esiste un modo? O devo mantenere due serie di file di soluzione/progetti, uno per ogni piattaforma, in modo che se voglio costruire per x64, posso solo aprire il file di soluzione per x64, e se voglio creare per Win32, ho aprire il file di soluzione per Win32?

+0

Usa Corporatura + Build batch. –

risposta

5

È possibile utilizzare "Configuration Manager" in Visual Studio 2010 per effettuare più configurazioni per i file di soluzione e di progetto.

Nella barra dei menu di VS 2010, andare a "costruire" -> "Configuration Manager ..."

4

Diciamo che hai la proprietà piattaforma che duplica in ogni file di progetto:

<Platform>x86</Platform> 

è possibile estrarre questo immobile dal ALL file di progetto in un unico file CommonProperties.properties:

<?xml version="1.0" encoding="utf-8" ?> 
<Project 
    ToolsVersion="4.0" 
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 
    DefaultTargets="Default"> 

    <PropertyGroup> 
     <Platform>x86</Platform> 
    </PropertyGroup> 
</Project> 

E poi basta importarli in tutti i file di progetto:

<Import Project="CommonProperties.properties" /> 

EDIT: multipla supporto della piattaforma

<Platform Condition="'$(Platform)' == 'Win32'">x86</Platform> 
<Platform Condition="'$(Platform)' == 'x64'">x64</Platform> 

Link utili:

+0

Grazie, sll. So che il file del foglio delle proprietà VC2010 (.props) potrebbe definire alcuni setti di progetto comuni come le variabili d'ambiente definite dall'utente, quindi tutti i progetti potrebbero importare questo file per condividere queste impostazioni comuni. Ma mi sembra che il file del foglio delle proprietà non supporti configurazioni diverse (Debug o Release) o piattaforme diverse (Win32 o x64), perché i controlli dell'interfaccia utente per l'impostazione di questi sono in grigio. Quello che voglio fare è definire impostazioni diverse per diverse configurazioni/piattaforme in un singolo file e lasciare che tutti i progetti importino questo file. – cobe24

+0

@ cobe24: vedere la risposta aggiornata – sll