Comment puis-je obtenir MSBuild faire une construction complète d'un équivalent projet Delphi à -b dcc32?

StackOverflow https://stackoverflow.com/questions/1773546

  •  21-09-2019
  •  | 
  •  

Question

Comment puis-je obtenir MSBuild faire une construction complète d'un équivalent projet Delphi à dcc32 -b?

J'ai deux projets que je suis en train de construire, le premier utilise des définitions conditionnelles, qui se sont passés par msbuild au dcc32. Cependant, certaines unités communes semblent être coincé avec la première série de conditionals, de sorte que le deuxième projet est construit de manière incorrecte.

Était-ce utile?

La solution

Je crois qu'il est / t: reconstruire , les listes de sortie de msbuild "Suppression du fichier: ...". Pour toutes les années DCU, puis construit le projet

J'utilise un fichier batch pour appeler MSBuild pour construire des projets delphi, pour Delphi 2007 et Delphi 2009 (qui a juste un chemin différent pour %BDS%):

set DCC_Quiet=true
set BDS=%ProgramFiles%\CodeGear\RAD Studio\5.0
set MSBuildBinPath=%WinDir%\Microsoft.NET\Framework\v2.0.50727

call %MSBuildBinPath%\msbuild /nologo /t:rebuild /p:config=Release %1 %2 %3 %4 %5

[Note, de cette question , pour la version « Build configuration », Delphi 2009 est /p:config=Release et Delphi 2007 est /p:Configuration=Release]

Autres conseils

Je suppose que la question Delphi MSBuild Créer Configuraions À partir de la ligne de commande contient la réponse. Essayez

msbuild /target:Build

Je me souviens D7 il y avait un problème similaire quand GUI vs dcc32 produit différents builds. Jetez un oeil à l'emplacement et le contenu de votre fichier DCC32.CFG (s). Ils peuvent réellement contenir autant de conditionals que vous avez besoin. Conditionnel par ligne

Une autre option consiste à supprimer le DCU des unités de compilées après votre première construction est terminée et avant de commencer votre prochain.

Avec mon RAD Studio 2010 Professional, /t:rebuild n'est pas défini. Je me suis dit

MSBuild.exe /t:Build /p:config=Release;DCC_BuildAllUnits=true

fait le travail

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top