GNU/Linux >> Linux Esercitazione >  >> Debian

Come compilare e installare wxWidgets su Ubuntu/Debian/Linux Mint

wxWidgets

wxWidgets è un framework/libreria di sviluppo di applicazioni che consente agli sviluppatori di creare applicazioni GUI multipiattaforma per Windows, Mac e Linux utilizzando la stessa base di codice.

È scritto principalmente in C++ ma ha collegamenti anche per altri linguaggi come Python, Perl e Ruby.

In questo tutorial ti mostrerò come compilare e costruire wxwidgets 3.0+ su sistemi Linux basati su Debian come Ubuntu e Linux Mint.

La compilazione di wxWidgets dalla sorgente non è affatto difficile come potrebbe sembrare e richiede solo pochi minuti per essere eseguita.

La libreria può essere compilata in diverse modalità come libreria statica o libreria dinamica.

1. Scarica wxWidgets

Il primo passo sarebbe scaricare i file sorgente di wxWidgets da wxwidgets.org

Al termine, estrai i file in una directory.

2. Configura l'ambiente di compilazione

Per compilare wxwidgets avremmo bisogno di alcuni programmi di utilità incluso il compilatore C++ su Linux chiamato g++. E tutto sarebbe stato installato dai repository usando apt-get.

Abbiamo anche bisogno delle librerie di sviluppo GTK da cui dipendono 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. Compila wxWidgets

Entra nella directory in cui viene estratto wxWidgets. Per mantenere le cose pulite, crea una directory in cui verrà eseguita la compilazione.

$ mkdir gtk-build
$ cd gtk-build/

Ora esegui il configure e fai i comandi uno per uno. Ognuno impiegherebbe del tempo per finire.

$ ../configure --disable-shared --enable-unicode
$ make

L'opzione "--disable-shared" indica a wxwidgets di creare librerie statiche invece di quelle condivise/dinamiche.

Al termine del comando make, la compilazione viene eseguita correttamente. È ora di installare i file wxWidgets nella posizione corretta.

Maggiori informazioni sulle opzioni di compilazione possono essere trovate nei file install.txt e readme.txt che possono essere trovati in /docs/gtk/ all'interno della directory wxwidgets.

4. Installa con checkinstall

Ora invece di usare il comando "make install", useremo il comando checkinstall per creare un pacchetto deb per wxwidgets. Esegui il comando seguente

$ sudo checkinstall

Checkinstall porrebbe alcune domande durante il processo e si assicurerebbe di fornire un numero di versione quando richiesto, altrimenti fallirebbe.

Una volta terminato il processo, wxWidgets verrebbe installato e anche un file deb verrebbe creato nella stessa directory.

5. Tieni traccia dei file installati

Se desideri controllare dove sono installati i file, usa il comando dpkg seguito dal nome del pacchetto fornito durante il processo di checkinstall.

$ 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. Compila i campioni

Dopo aver compilato wxWidgets, è il momento di compilare i programmi di esempio per vederlo in azione. Nella stessa directory in cui abbiamo compilato wxwidgets, sarebbe stata creata una nuova sottodirectory chiamata samples.

Basta inserirlo ed eseguire il comando make

$ compile samples
$ cd samples/
$ make

Al termine del processo di creazione, entra in ogni sottodirectory di esempio e dovrebbe esserci un file eseguibile che può essere eseguito immediatamente per vedere la demo.

7. Compila il tuo primo programma

Dopo aver finito con i programmi demo, è il momento di scrivere il tuo programma e compilarlo. Ancora una volta è abbastanza facile.

Si presume che tu stia codificando in C++ e per questo puoi utilizzare qualsiasi buon editor con funzionalità di evidenziazione della sintassi. Ad esempio gedit, kate, kwrite farebbero. Oppure potresti provare IDE completamente caricati come Geany, Codelite, Codeblocks ecc.

Tuttavia, per il tuo primo programma usa un normale editor di testo e fallo velocemente.

Eccolo

#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);

Ora salva il programma da qualche parte e compilalo con i seguenti comandi

# compile
$ g++ basic.cpp `wx-config --cxxflags --libs std` -o program
# run
$ ./program

Compilazione con librerie non standard

Il comando wx-config mostrato sopra fornisce solo le librerie standard per impostazione predefinita. Ad esempio, se stai utilizzando le classi Aui, devi specificare librerie aggiuntive per esso

$ g++ code.cpp `wx-config --cxxflags --libs std,aui` -o program

Maggiori informazioni possono essere trovate qui.

Risorse

Scarica i file sorgente e della guida per wxWidgets
https://www.wxwidgets.org/downloads/

Pagina wiki di wxWidgets sulle istruzioni di compilazione
https://wiki.wxwidgets.org/Compiling_and_getting_started

Note su come utilizzare l'ultima versione di wxWidgets (3.0+)
https://wiki.wxwidgets.org/Updating_to_the_Latest_Version_of_wxWidgets


Debian
  1. Come installare Discord su Ubuntu e Linux Mint

  2. Come installare Pip su Ubuntu 18.04, Debian 9 e Linux Mint 19

  3. Come installare Firefox 10 su Ubuntu 11.10 / Linux Mint 12

  4. Come installare Opera 16.1 su Ubuntu 11.10 / Linux Mint 12

  5. Come installare e configurare Node.js e npm in Ubuntu, Debian o Linux Mint

Come installare NetBeans IDE 12.4 in Ubuntu, Debian e Linux Mint

Come installare sudo su Debian o Ubuntu Linux

Come installare Skype su Ubuntu, Linux Mint e altre distribuzioni Linux basate su Debian

Come installare NetBeans IDE 12 in Debian, Ubuntu e Linux Mint

Come installare Wine 5.0 su Debian, Ubuntu e Linux Mint

Come installare Fish Shell su Ubuntu e Linux Mint