Página principal
Librería
wxwidgets
Crear programas multiplataforma
Al crear
un programa, lo primero que queremos es que sea utilizado por la
mayor cantidad de gente. La plataforma que predomina es Windows,
Linux y Mac solo es una pequeña parte de usuarios. Para el caso de
querer que nuestro programa corra en las diferentes plataformas,
debemos utilizar librerías multiplataforma, que con solo recompilar
los archivos fuente, puedan ser utilizados los programas.
Para este caso vamos a utilizar la librería wxwidgets https://www.wxwidgets.org/.
En un anterior artículo wxtutor.html ,
había explicado como instalar y configurar wxWidgets en CodeBlocks
bajo windows.
En este artículo he creado un monitor de temperatura externa,
anteriormente lo había realizado en Gambas (VB para linux), pero
bajo Windows no funciona. ard433.html
Para este programa he realizado varios makefiles para crear
ejecutables para las diferentes versiones de librerías y modos,
estaticas o DLL.
Al ser multiplataforma se recompila todo en Linux o Windows sin
retocar ni una sola línea de código, salvo modificar el archivo
define.h y poner:
#define YesWindows 0
o
#define YesWindows 1
Programa bajos Linux.
Programa bajos Windows.
Podemos observar los diferente ejecutables bajo Windows.
Los programas programa311.exe y programa1812.exe son pequeños, pero
utilizan las DLL , que se tienen que colocar directorio system32 del
directorio windows, o junto con cada uno de los ejecutables.
Los programas programa311s.exe y programa1812s.exe no necesitan las
DLL, las llevan incorporadas en el propio programa. Son de mayor
tamaño, pero quedan mejor en la distribución de un solo fichero para
la utilización del programa. Se puede observar que dependiendo de la
versión de la librería puede ser su tamaño más del doble.
Para reducir los programas ejecutables, se puede usar el programa upx.exe.
Este programa comprime los ejecutables a la tercera parte. Se puede
observar en los ficheros programa2812sz.exe y programa311sz.exe.
Para diferenciar entre programas, dll, y fuentes, los he distibuido
en diferentes ficheros.
dll.zip
binarios.zip
fuentes.zip
Hasta pronto.
JUAN GALAZ