2011-12-14 12 views
7

¿es posible configurar (idealmente desde GUI) el Build Configuration para agregar automáticamente sufijos a los archivos de salida de acuerdo con la plataforma de destino?¿Es posible configurar la configuración de compilación para agregar automáticamente sufijos a la plataforma de destino?

quiero decir, voy a tener para el proyecto de la biblioteca instancia con nombre Project y me gustaría llegar

Project.dll - when I build the project for 32-bit platform 
Project64.dll - when I build the project for 64-bit platform 

Gracias

+0

Por lo que yo sé que lo único que puede cambiar es la extensión con '{E} $' –

+0

Desafortunadamente {E} $ coloca el valor detrás del punto de extensión, por lo que el uso de '{E $ 64.dll } 'me construiría algo así como' Project.64.dll' que no es tan bueno :( –

+0

Sí, me doy cuenta de que no es lo que quieres. Lo siento por no ser claro en ese punto. Hasta donde sé, ese es el único opción que tiene disponible. Mi solución es usar scripts de post compilación para cambiar el nombre del archivo. –

Respuesta

12

Curiosamente yo estaba tratando de hacer exactamente lo mismo ayer para el ejecutable archivo de mi aplicación. Llegué a la conclusión de que no es posible cambiar el nombre del archivo de salida. La única forma en que puede influir en el nombre del archivo de salida es con la directiva {$E}, pero eso solo controla la extensión de la salida que no es la que desea.

actualización

Gracias a @TOndrej para señalar la directiva $LIBSUFFIX. Esto no parece ser modificable a través de las opciones de proyecto IDE para bibliotecas, aunque existe tal soporte para paquetes. Sin embargo, sí funciona cuando está incluido en el código fuente de su paquete. Incluya esto en su archivo .dpr de la biblioteca.

{$IFDEF WIN64} 
    {$LIBSUFFIX '64'} 
{$ENDIF} 

Esto no tiene ningún efecto para los proyectos que producen ejecutables (es decir, aplicaciones VCL, servicios, etc.) y por lo tanto creo que la única solución en estos casos es una acción posterior a la generación.

+0

Gracias a ti y TOndrej por el esfuerzo. –

+0

¿Hay alguna posibilidad de nombres ejecutables?Como Project32.exe y Project64.exe –

1

También podría usar un evento de compilación para cambiar el nombre del ejecutable. En el evento posterior a la construcción en las opciones del proyecto, se podría hacer algo como esto:

ren $(OUTPUTPATH) $(OUTPUTNAME)$(Platform).exe 

que le daría algo así como:

ExampleProgramWin64.exe 

o

ExampleProgramWin32.exe 

sí quiere decir que usted No obstante, no puedo depurarlo, ya que el IDE no sabe que se le ha cambiado el nombre, por lo que quizás hacer una copia sea más apropiado.

copy $(OUTPUTPATH) $(OUTPUTDIR)\$(OUTPUTNAME)$(Platform).exe 
Cuestiones relacionadas