wxWidgets
wxWidgets es una biblioteca/marco de desarrollo de aplicaciones que permite a los desarrolladores crear aplicaciones GUI multiplataforma para Windows, Mac y Linux usando la misma base de código.
Está escrito principalmente en C++ pero también tiene enlaces para otros lenguajes como Python, Perl y Ruby.
En este tutorial, le mostraré cómo compilar y construir wxwidgets 3.0+ en sistemas Linux basados en Debian como Ubuntu y Linux Mint.
Compilar wxWidgets desde la fuente no es tan difícil como puede parecer y solo lleva unos minutos hacerlo.
La biblioteca se puede compilar en diferentes modos, como biblioteca estática o biblioteca dinámica.
1. Descargar wxWidgets
El primer paso sería descargar los archivos fuente de wxWidgets desde wxwidgets.org
Una vez hecho esto, extraiga los archivos a un directorio.
2. Configurar el entorno de compilación
Para compilar wxwidgets necesitaríamos algunos programas de utilidad, incluido el compilador de C++ en Linux llamado g++. Y todo se instalaría desde los repositorios usando apt-get.
También necesitamos las bibliotecas de desarrollo GTK de las que depende wxWidgets.
$ sudo apt-get install libgtk-3-dev build-essential checkinstall
The utility called checkinstall would allow us to create an installation package for wxwidgets, so that later on it can un-installed easily using package managers
3. Compilar wxWidgets
Ingrese al directorio donde se extrae wxWidgets. Para mantener las cosas limpias, cree un directorio donde se realizaría la compilación.
$ mkdir gtk-build $ cd gtk-build/
Ahora ejecute la configuración y haga los comandos uno por uno. Cada uno tardaría un tiempo en terminar.
$ ../configure --disable-shared --enable-unicode $ make
La opción "--disable-shared" indica a wxwidgets que cree bibliotecas estáticas en lugar de compartidas/dinámicas.
Una vez que finaliza el comando make, la compilación se realiza correctamente. Es hora de instalar los archivos wxWidgets en la ubicación correcta.
Se puede encontrar más información sobre las opciones de compilación en los archivos install.txt y readme.txt que se pueden encontrar en /docs/gtk/ dentro del directorio wxwidgets.
4. Instalar con checkinstall
Ahora, en lugar de usar el comando "make install", usaremos el comando checkinstall para crear un paquete deb para wxwidgets. Ejecute el siguiente comando
$ sudo checkinstall
Checkinstall haría algunas preguntas durante el proceso y se aseguraría de proporcionar un número de versión cuando se le pidiera, de lo contrario fallaría.
Una vez finalizado el proceso, se instalaría wxWidgets y también se crearía un archivo deb en el mismo directorio.
5. Seguimiento de los archivos instalados
Si desea verificar dónde están instalados los archivos, use el comando dpkg seguido del nombre del paquete proporcionado durante el proceso de verificación de instalación.
$ dpkg -L package_name /. /usr /usr/local /usr/local/lib /usr/local/lib/libwx_baseu-3.0.a /usr/local/lib/libwx_gtk3u_propgrid-3.0.a /usr/local/lib/libwx_gtk3u_html-3.0.a /usr/local/lib/libwxscintilla-3.0.a /usr/local/lib/libwx_gtk3u_ribbon-3.0.a /usr/local/lib/libwx_gtk3u_stc-3.0.a /usr/local/lib/libwx_gtk3u_qa-3.0.a /usr/local/lib/libwx_baseu_net-3.0.a /usr/local/lib/libwxtiff-3.0.a
6. Compilar las muestras
Después de compilar wxWidgets, es hora de compilar los programas de muestra para verlo en acción. En el mismo directorio donde compilamos wxwidgets, se habría creado un nuevo subdirectorio llamado samples.
Simplemente ingréselo y ejecute el comando make
$ compile samples $ cd samples/ $ make
Después de que finalice el proceso de creación, ingrese a cada subdirectorio de muestra y debería haber un archivo ejecutable que se pueda ejecutar de inmediato para ver la demostración.
7. Compila tu primer programa
Una vez que haya terminado con los programas de demostración, es hora de escribir su propio programa y compilarlo. De nuevo, es bastante fácil.
Se supone que está codificando en C++ y para eso puede usar cualquier buen editor con función de resaltado de sintaxis. Por ejemplo, gedit, kate, kwrite serían suficientes. O es posible que desee probar IDE completamente cargados como Geany, Codelite, Codeblocks, etc.
Sin embargo, para su primer programa, simplemente use un editor de texto normal y hágalo rápido.
Aquí está
#include <wx/wx.h> class Simple : public wxFrame { public: Simple(const wxString& title) : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250, 150)) { Centre(); } }; class MyApp : public wxApp { public: bool OnInit() { Simple *simple = new Simple(wxT("Simple")); simple->Show(true); return true; } }; wxIMPLEMENT_APP(MyApp);
Ahora guarde el programa en algún lugar y compílelo con los siguientes comandos
# compile $ g++ basic.cpp `wx-config --cxxflags --libs std` -o program # run $ ./program
Compilar con bibliotecas no estándar
El comando wx-config que se muestra arriba proporciona solo las bibliotecas estándar de forma predeterminada. Si está utilizando las clases Aui, por ejemplo, debe especificar bibliotecas adicionales para ello
$ g++ code.cpp `wx-config --cxxflags --libs std,aui` -o program
Puede encontrar más información aquí.
Recursos
Descargue los archivos fuente y de ayuda para wxWidgets
https://www.wxwidgets.org/downloads/
Página wiki de wxWidgets sobre instrucciones de compilación
https://wiki.wxwidgets.org/Compiling_and_getting_started
Notas sobre cómo usar la última versión de wxWidgets (3.0+)
https://wiki.wxwidgets.org/Updating_to_the_Latest_Version_of_wxWidgets