editor de recursos de PellesC… ahora si que si

Hace algún tiempo hablé del editor de recursos de PellesC. El caso es que he estado intentando usarlo, pero hasta hoy no he dado con la manera de hacerlo y encajarlo con xHarbour. Comprobareis que soy un poco chapuza, pero creo que todo esto puede servirle a más de uno.

Hasta ahora usaba el editor de recursos de Borland C++ 5.01 y todo iba bien. Sin embargo no me gustaban varias cosas, pero principalmente que de vez en cuando me hacia una de indios y me dejaba inservible el .RC porque al salvar los recursos mezclaba las lineas de texto de los mismos y armaba una gordísima. Además me parecía una barbaridad tener instalado el Borland C++ 5.01 si realmente usaba para compilar xHarbour la versión gratuita del Borland C++ 5.5.

Con el editor de recursos de PellesC tenía basicamente un problema: no era capaz de leer los .RC que el editor de recursos de Borland pero si leía bien los .RES. Sin embargo al leer un .RES, salvarlo como .RC el compilador de recursos de Borland no tragaba y me daba error.

La solución a todo esto es un poco enrevesada, pero basicamente consiste en editar los .RC con el PellesC y usar su propio compilador de recursos para generar el .RES que luego el link de borland meterá en el ejecutable.

Lo primero es tener un .RES, abrirlo con el PellesC y guardarlo como .RC. Si te creas un .RC desde cero con el PellesC tambien sirve. Antes de compilar con el MAK de la aplicación hay que generar el .RES y esto se hace de la siguiente manera:

\pellesc\bin\porc /I\pellesc\include2 programa.rc

Como los ficheros de cabecera de PellesC están en varios directorios los he copiado todos a un subdirectorio que se llama include2… ya dije que era una chapuza.

Luego hay que editar el .MAK de la aplicación para decirle que no use el compilador de recursos de Borland y que enlace directamente el .RES que acabamos de generar. Esto se hace comentando estas lineas:

# Application directories & filenames ########################################
...
#APP_RC   = $(APP_RES_DIR)\$(APP_NAME).rc
...
# Borlanc directories & flags ################################################
...
#BORLANDC_RES_EXE     = $(BORLANDC_EXE_DIR)\brc32.exe
...
# Explicit Rules #############################################################
!if $(RES_FILE) == YES
#$(APP_RES) : $(APP_RC)
#   $(BORLANDC_RES_EXE) -r $**
$(APP_EXE) :: $(APP_RES)
@if exist $(APP_EXE) $(DEL) $(APP_EXE) > nul
!endif

Y con esto he desinstalado el Borland C++ 5.01. PellesC se puede descargar desde http://www.smorgasbordet.com/pellesc/. Si alguien prueba esto y quiere compartir sus experiencias estaré encantado de leerlas.