Posso usare MSBuild per costruire vecchi progetti VS6 C ++?

3

Ho un computer di compilazione in cui non è installato Visual Studio, solo MSbuild che può creare projcets VS2008 senza avere installato Visual Studio.

Mi chiedo se sia possibile utilizzare MSbuild con i file di progetto VC ++ 6.0, anche se penso che ciò non sia possibile. In passato l'ho usato con un file di soluzione VS2008 per C ++, ma non per creare file dsw C ++ 6.0.

Per Vb6 abbiamo un pacchetto di estensioni per Msbuild (MSBuild.ExtensionPack.VisualStudio.VB6). È disponibile qualcosa di simile per i progetti C ++ 6.0?

Un'alternativa potrebbe essere se ci sono strumenti di build leggeri che possono creare file .dsw VC6 ++ senza dover installare Visual Studio 6.0?

    
posta awe 25.01.2011 - 14:57
fonte

3 risposte

4

Non puoi compilare C ++ 6 senza il compilatore C ++ 6. Tuttavia, una volta installato il supporto della riga di comando per il compilatore / linker sul server di build, sarà possibile accedervi da MSBuild o NAnt (vale la pena dare un'occhiata). Si noti inoltre che VS C ++ 6 supportava uno strumento di compilazione chiamato nmake fornito con VS. VS sapeva come generare il file nmake per il tuo progetto, e questo potrebbe valere la pena di essere esaminato.

Dubito che esista un pacchetto di compilatori C ++ 6 separato da VS. A differenza di C # e di altri linguaggi .Net, Microsoft non ha dovuto pubblicare compilatori gratuiti per guadagnare la trazione. Tuttavia, ciò non significa che non puoi crearne uno tu stesso. Ora hanno compilatori C ++ (anche se in qualche modo danneggiati) per le versioni successive (VS 2008 e 2010).

Devi creare una struttura di directory che sia simile alla struttura di directory di MS Dev e copiare tutti i file rilevanti. Gli strumenti da riga di comando non richiedono l'impostazione di speciali impostazioni del registro. Saranno necessari gli strumenti da riga di comando (compilatore, linker, nmake, ecc.), L'intestazione include le librerie e gli stub .lib da compilare su una macchina senza MS Dev installato. Potrebbe essere più semplice copiare il percorso di installazione e quindi rimuovere le parti che non ti servono.

Il tuo strumento di compilazione (MSBuild, NAnt o nmake ) userebbe una variabile d'ambiente per trovare la directory radice degli strumenti di C ++ 6, quindi fare riferimento ad essi. Utilizzando questo approccio, una volta che la singola variabile d'ambiente è stata impostata sul computer di tutti, non è necessario apportare modifiche tra le macchine dev e la macchina di compilazione. Il tuo compilatore sarà in grado di trovare le intestazioni di sistema per include e il linker sarà in grado di trovare i file .lib richiesti per le DLL che stai usando.

    
risposta data 17.02.2011 - 16:23
fonte
1

Dovresti essere in grado di chiamare Visual Studio per compilare quanto segue:

<Exec Command='"C:\program files\....\devenv.exe" /somearguments "path to your dsw file"'/>

e sostituendo i segnaposti nel mio codice precedente.

    
risposta data 25.01.2011 - 17:05
fonte
0

Dovrebbe essere possibile anche se non necessariamente in modo nativo attraverso Visual Studio. MSBuild è un generico processore di script che può essere utilizzato per molte cose e non vedo perché non si possa far sì che chiami i compilatori, i linker, ecc. Appropriati. Tuttavia alla fine dovrai installare gli strumenti che creare qualcosa "VC ++ 6.0" in modo da non capire l'esitazione sull'installazione di VC ++ 6.0.

    
risposta data 25.01.2011 - 15:35
fonte

Leggi altre domande sui tag