IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Error LNK2019 - Librairie "libpng"


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    tu as bien rajouter au link la bibliothèque libpng ?
    ou encore en faisant un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #pragma comment(lib, "mylib.lib")
    mylib étant le nom de ta bibliothèque bien sûr ...

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Par défaut
    Merci de ta réponse... J'avais bien fait le lien vers ma librairie "mylib.lib", mais apparemment celle-ci était mal compilée, car après recompilation de la librairie tout fonctionne...

    Problème résolu donc...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/04/2004, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo