2010-11-09 40 views
2

Nous essayons de construire nos projets Delphi 2007 en utilisant MSBuild. Dans l'EDI, nous avons défini toutes les configurations Buidl sur Debug avec (entre autres) l'option D +.MSBuild du projet Delphi pour RELEASE définit toujours l'option D +

La configuration de version Release, bien sûr, a désactivé les options de débogage.

Nous construisons le projet avec la ligne de commande suivante:

Msbuild /target:Build /property:configuration=Release /clp:NoItemAndPropertyList 

la commande DCC résultant contient les paramètres de commande correcte (- D $):

C:\Program Files (x86)\CodeGear\RAD Studio\5.0\bin\dcc32.exe 
    -B 
    -GD 
    -H- 
    -I <removed for clarity> 
    -LE<removed for clarity> 
    -LN <removed for clarity> 
    -O <removed for clarity> 
    -R <removed for clarity> 
    -U <removed for clarity> 
    --no-config 
    -$C- 
    -$D- 
    -$L- 
    -$Y- 
    -W- projectname.dpk 

Mais quand je lance le projet , l'option D + est activée car mon code affiche une boîte de dialogue d'avertissement après un {$ ifopt D +}. Si je change la configuration active de Buidl dans l'IDE, cela fonctionne correctement. Il semble donc que dcc32 lit toujours les options de l'EDI au lieu des remplacements de la ligne de commande.

Quelqu'un peut-il m'aider à résoudre ce problème? Edit: Réalisant maintenant qu'un .dpk a ses options de compilation explicitement incluses ({DEBUGINFO ON}). Évidemment cela remplace les paramètres de la ligne de commande de la commande dcc32. Cela pourrait-il être la cause de mes problèmes? ... et comment les remplacer?

Répondre

4

a trouvé la réponse moi-même :-)

Les paramètres explicites dans le .dpk sont le problème, mais ils peuvent être outrepassée sans perte de fonctionnalité IDE en changeant la {$ en {<space> changé.

Voir le lien suivant: Compile DPK files using DCC32

+0

Même problème se produit lors de la construction d'un exécutable et vous avez encore le fichier .cfg à partir d'une version antérieure de Delphi dans le même dossier. Merci de m'avoir indiqué la solution! –