PDA

Visualizza la versione completa : [C] problema FreeImage + CodeBlocks + Mac


wizzy
16-05-2009, 04:31
Salve a tutti,
Premetto che arrivo da qualche goooglata e da una ricerca nei post precedenti su questo forum ma non mi sembra di aver trovato nulla di simile..
Il mio problema č questo: ho compilato correttamente dal sorgente la libreria FreeImage su piattaforma MacOSX 10.5.6 ottenendo i file libfreeimage.a e FreeImage.h, sono passato quindi a CodeBlocks (per altro orrendamente instabile) ho creato una nuova Console application e nel mio file main.c ho inserito il codice seguente (volutamente semplice per testare le funzionalitą):



#include <stdio.h>
#include "FreeImage.h"

int main()
{
FreeImage_Initialise(FALSE);

printf("FreeImage version : %s\n", FreeImage_GetVersion());

FIBITMAP *bitmap = FreeImage_Load(FIF_BMP, "texture.bmp", BMP_DEFAULT);
if(bitmap == NULL)
{
printf("Impossibile Caricare!\n");
}
else
{
printf("Caricato Correttamente!\n");
if(!FreeImage_Save(FIF_JPEG, bitmap, "output.jpg", JPEG_DEFAULT))
{
printf("Impossibile Salvare!\n");
}
else
{
printf("Salvato Correttamente!\n");
}

FreeImage_Unload(bitmap);
}

FreeImage_DeInitialise();

return 0;
}



Nelle Build Options del progetto sotto le impostazioni del linker ho inserito "libfreeimage.a" in tutte e 3 le modalitą (progetto/debug/release) ho aggiunto inoltre la cartella del progetto nelle Search directories (sia compiler che linker anche qui in tutte e 3 le modalitą) infine, nella cartella progetto (quella dove c'č il file .cbp e .c per intenderci) ho messo la libreria .a e l'header .h di FreeImage
Compila tutto correttamente e parte tutto senza problemi ma da console ho:

FreeImage version: 3.12.0
Impossibile Caricare!

Sembra proprio che non riesca a caricare il file texture.bmp.. non so proprio cosa pensare.. ho provato anche a metterlo nella cartella bin/Debug dove crea l'eseguibile ma niente da fare.. non riesce proprio a vederlo.. eppure la libreria sembra caricarla correttamente (altrimenti non mi darebbe la versione che sto usando!) Qualcuno sa spiegarmi il perchč?

Grazie mille!
Diego

Loading