Libreria DevIL: Implementazione in Visual Studio
Sorry, no english version available for this tutorial.
Licenzed under Creative Commons shareAlike noncommercial 2.5 by Dario "Demone Rosso". (The DevIL logo belong to the DevIL's developers and can be found at DevIL
homepage)
DevIL (OpenIL) è una libreria cross-platform OpenSource, ecco l'home page della libreria:
Li è possibile trovare tutti i sorgenti le dll , gli headers e gli oggetti.lib necessari al funzionamento.
Cosa è necessario? E' sufficente scaricare il pacchetto giusto per il vostro PC. Se qualcuno ha creato un programma con DevIL ma ha dimenticato di fornirvi le dll è sufficente che scarichiate uno dei pacchetti DevIL (es: DevIL 1.7.8 for 32-bit Windows ), mentre se intendete creare un progetto avrete bisogno del Software Development Kit (SDK) che contiene tutto il necessario per compilare un eseguibile. (es: DevIL 1.7.8 SDK for 32-bit Windows )
Normalmente come succede per i siti di librerie OpenSource può capitare che manchi uno degli elementi necessari alla compilazione del progetto (o c'è un header sbagliato o manca un dll). Normalmente basta sapere (o immaginare, dato che più o meno sono strutturati tutti in modo uguale) quale elemento manca per trovarlo facilmente.
SETTING UP: VISUAL STUDIO 2008 (o 2005)
1) Scaricate la versione Express di Visual C++ (se avete windows XP vi conviene scaricare la versione 2005 anche se dovrebbe funzionarvi ugualmente la versione 2008) Pagina Microsoft di riferimento. Installate seguendo la procedura. (se non riuscite neanche ad installare Visual C++ cosa ci fate qui? lol )
2) Create una cartella per la vostra soluzione (solution). Normalmente viene usata la cartella C:/Development (in cui metteremo tutti i nostri progetti, sinceramente usare la cartella di default in "Documenti" ritorna scomodo quando devo andare a pescare i file o ad inserire risorse di prova).Nome Solution: "Esperimenti" Nome Progetto : "Test DevIL"
3) Aggiungete un nuovo codice sorgente (click destro sulla cartella "File di Sorgente" o "Sources" , poi selezionate "Nuovo Elemento", selezionate "File di C++.cpp") chiamatelo come volete. a questo punto mettete il codice seguente al suo interno:
#include <il.h>
int main(){
return 0;
}
4) Ora, andate nella cartella "Development" al suo interno create le cartelle: "lib" , "include" , "dll".
- All'interno della cartella "lib" mettiamo il file "DevIL.lib"
-
- All'interno della cartella "include" mettiamo il file "il.h"
-
- All'interno della cartella "dll" mettiamo il file "DevIL.dll"
-
Per ragioni di compatibilità con alcuni tutorials che scaricate dalla rete create all'interno della cartella "include" Un'altra cartella che si chiama "IL".
- All'interno di "IL" mettete nuovamente iil file "il.h"
5) Ora, le dll normalmente vengono cercate in due percorsi. La cartella di sistema windows e la cartella in cui c'è il vostro progetto. Per sicurezza mettete sempre le dll del vostro progetto nella cartella in cui è presente (avere tanti progetti con le stesse dll fa deprecare un po lo scopo vero per cui sono state create, tuttavia è molto comodo)
Quindi andate nella vostra cartella "Test DevIL" all'interno di "Esperimenti" (oppure la cartella del vostro progetto) e incollateci il file DevIL.dll
6) Impostiamo i nuovi percorsi di libreria: Aprite il vostro progetto con visual studio. Click destro sul progetto. "Propietà"
da "C-C++" scegliamo "Directory di inclusione aggiuntive" (o Additional Include Directories). Andate a cercare la vostra cartella "include" dentro "Development" selezionatela e confermate.
7) Sempre stando in propietà andate su "linker" aprite e selezionate "Generale" (general) , entrate in "Directory librerie aggiuntive" (Additional library directories) e andate a pescare la vostroa cartella "lib" dentro "Development" selezionatela e confermate.
8) Ora andate sempre in "linker", scegliete "Input". Nella barra "Dipendenze aggiuntive" digitate "DevIL.lib" Confermate e chiudete. Provate a compilare il progetto con F7 per vedere se vi da errori di compilazione. Se non da errori provate il codice sorgente di test.
9) Codice sorgente di prova: una volta esisteva un programmino di prova all'interno del manuale di DevIL. Nell'ultima release l'hanno omesso così ecco un semplice programmino di prova che vi prende un immagine e ve la salva con un nome e un formato diversi. (perchè funzioni dovrete avere nella cartella del vostro progetto un file che si chiama "prova_lettura.bmp" va bene un immagine qualunque fatta con paint.
#include <iostream> //libreria
standard del C++
#include <il.h> //nucleo di DevIL, include solo le features
di base
int main(){
lInit(); //inizializzo l'engine IL di DevIL
if(ilLoadImage("prova_lettura.bmp")) //provo a leggere "prova_lettura.bmp"
std::cout<<"file \"prova_lettura.bmp\" caricato correttamente!\n"<<endl;
else
return -1;
if(ilSaveImage("prova_salvataggio.png")) //provo a salvare con nome diverso
std::cout<<"file \"prova_salvataggio.png\" salvato
correttamente!\n"<<endl;
else
return -2;
return 0; //se arrivo fin qua è andato tutto ok. chiudo ritornando 0.
}
Tutte le operazioni (punti 5, 6, 7, 8 ) vanno ripetute per ogni progetto, a meno che vi creiate voi un template che le faccia per voi ad ogni vostro nuovo progetto (con visual studio si può, ma non penso funzioni con la versione Express)
Be. a questo punto compilate (F7) e provate ad eseguire il debug (F5). Byez!