Error LNK2019 - Librairie "libpng"
Bonjour à tous,
Pour l'un de mes projets, j'ai besoin d'utiliser la librairie "libpng" qui permet la lecture/écriture d'images au format PNG. (j'utilise VC++ 2005 Express)
Dans un premier, pour tester cette librairie, j'ai écrit un programme qui lit simplement la taille de ce fichier (width & height)... Voici le programme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| #include <stdlib.h>
#include <stdio.h>
#include "../lpng/png.h"
using namespace std;
int main()
{
FILE * fp;
//typedef byte png_byte;
png_byte magic[8];
png_uint_32 width, height;
/*---- open image file ----*/
fp = fopen("lena_512_color.jpg","r");
if (!fp) //error during file opening
return 0;
/*---- read magic number ----*/
fread(magic, 1, sizeof(magic), fp);
/* check magic number - PNG ? */
if (!png_check_sig(magic, sizeof(magic)))
{
fclose(fp);
return 0;
}
/*---- struct png_struct & png_info creation ----/
/* create a png_struct struct */
png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
if (!png_ptr)
{
fclose(fp);
return 0;
}
/* create a png_info struct */
png_infop info_ptr = png_create_info_struct (png_ptr);
if (!info_ptr)
{
fclose (fp);
png_destroy_read_struct (&png_ptr, NULL, NULL);
}
/*---- initialisation ----*/
/* setup libpng for using standard C fread() function with our FILE pointer */
png_init_io (png_ptr, fp);
/* tell libpng that we have already read the magic number */
png_set_sig_bytes (png_ptr, sizeof (magic));
/* read png info */
png_read_info (png_ptr, info_ptr);
/* get width & height information */
width = png_get_image_width(png_ptr, info_ptr);
height = png_get_image_height(png_ptr, info_ptr);
/* display this information */
printf("Width = %u - Height = %u \n", width, height);
return 1;
} |
Et lors de la compilation, j'obtiens une erreur "LNK2019" pour chaque fonction de la libraire "libpng"
Code:
1 2 3 4 5 6 7 8 9 10
| 1>Linking...
1>essai.obj : error LNK2019: unresolved external symbol _png_get_image_height referenced in function _main
1>essai.obj : error LNK2019: unresolved external symbol _png_get_image_width referenced in function _main
1>essai.obj : error LNK2019: unresolved external symbol _png_read_info referenced in function _main
1>essai.obj : error LNK2019: unresolved external symbol _png_set_sig_bytes referenced in function _main
1>essai.obj : error LNK2019: unresolved external symbol _png_init_io referenced in function _main
1>essai.obj : error LNK2019: unresolved external symbol _png_destroy_read_struct referenced in function _main
1>essai.obj : error LNK2019: unresolved external symbol _png_create_info_struct referenced in function _main
1>essai.obj : error LNK2019: unresolved external symbol _png_create_read_struct referenced in function _main
1>essai.obj : error LNK2019: unresolved external symbol _png_check_sig referenced in function _main |
Je précise que j'ai ajouté le chemin de mes différents include au bon endroit (VC++ directory). De plus lors de la compilation il trouve bien les fichiers .h.
Quelqu'un aurait-il une idée de l'origine du problème? Je viens de passer 2 jours sans aucune avancée...
Merci d'avance...
Arnaud