PROGRAMMI CON INTERFACCIA A FINESTRE.
Ma come compilare wxSQlite3 ?
(Aggiornamento dell'articolo al 16/07/2022)
Come promesso, ma con un po' di ritardo, metto in rete
questo articolino-tutorial dove spiego come compilare la libreria per i database: wxSQlite3.
Vi sono in rete molte librerie per c++ adatte ad implementare database relazionali. Cito fra le altre mySql, ottimo e conosciuto database, usato molto spesso nei siti web dinamici ma non solo per quelli. Ve ne sono di più o meno conosciute ma quasi tutte efficienti e adatte allo scopo.
Se si usa la libreria wxWidgets per i propri progetti con interfaccia a finestre, prima o poi arriva l'esigenza di implementare anche un database sia per semplici archivi di nominativi, ma anche per i più complessi programmi contabili, dove bisogna intervenire su elenchi clienti e fornitori, prima nota ecc.
Ottima libreria a corredo è wxSQlite3 che funziona in accoppiata appunto a wxWidgets. Deriva, wxSQlite3, da quella per solo c++, cioè SQlite3.
Curata e sviluppata da Ulrich Telle, è affiancata da una ottima documentazione
().
Mentre vi scrivo, è a disposizione la versione 4.4.5, ma con regolare frequenza vengono pubblicati nuovi aggiornamenti con correzioni e aggiunte molto gradite agli utenti del settore.
Se si vuole si può aggiungere il supporto icu, integrazione della libreria "International Components for Unicode". Per quest'ultimo lascio a voi la scelta di servirvene o meno. Anche per questo supporto e per la compilazione, la documentazione non è carente.
Prima cosa necessaria, bisogna scaricare dal sito: https://github.com/utelle/wxsqlite3/releases il wrapper nella sua ultima versione. Successivamente dai miei progetti i tre files.txt che andrebbero poi rinominati in files.cmd per poter essere utilizzati e avviati per la compilazione di wxSQlite3 ().
Nel wrapper wxSQlite3:
- Abilitare su es. C:\wxsqlite3-4.4.5\build\config.gcc, il supporto debug;
- Abilitare su es. C:\wxsqlite3-4.4.5\sqlite3secure\build\config.gcc, il supporto debug.
Di seguito qui elenco gli altri passaggi necessari:
- Eseguire CPxSQ4a.cmd inserendo i dati richiesti e ignorando i messaggi di errore per mancanza del supporto icu;
- Eseguire CPxSQ4b.cmd inserendo i dati richiesti ed eseguire tutte le voci;
- Infine eseguire CPxSQ4c.cmd "clickkando" le due voci disponibili per trasferire le librerie nella giusta cartella;
- Copiare le librerie dinamiche rispettive (dll) nella stessa cartella del vostro programmino oltre a quelle già copiate per le wxWidgets, a meno che optiate solo per la compilazione delle librerie statiche.
- Eseguire un programma con wxSqlite3 e wxWidgets con quanto già visto scaricando dal sito:
il materiale per Premake-5 o il materiale per CMake (vedi spiegazioni anche in: "Come compilare le wxWidgets") e variando di conseguenza i dati che si trovano rispettivamente nelle prime righe del file premake5.lua, inserendo le giuste voci. Ciò anche in CM.cmd. Per il materiale per CMake variare solo i dati di CM.cmd
Ricordatevi di cambiare l'estensione da CM.txt a CM.cmd.
(Aggiornamento dell'articolo al 16/07/2022)
A partire dalla versione, wxSQlite3.4.6.0, nel wrapper viene a mancare una cartella (sqlite3secure) perché il progetto è stato sdoppiato, vedi anche: https://github.com/utelle/SQLite3MultipleCiphers; la versione wxSQlite3.4.6.0 serve in ogni caso con progetti con interfaccia a finestre. Eseguire per questa e per le successive versioni, solo il file CPxSQ4b.txt, rinominato in CPxSQ4b.cmd file che ho provveduto ad aggiornare (16/07/2022) e che serve alla compilazione e di cui vi ho già parlato.
Se usate WxWidgets-3.2.0 e successivi, là dove non è già stato fatto, cambiare numero versione 3.1 in 3.2 in tutti i punti del file in premake\wxwidgets.lua di wxsqlite3; inoltre sostituire 31 con 32 nel file build/config.gcc, così:
# Short version number of wxWidgets
wxShortVersionString ?= 32