2016-08-02 40 views
0

Ich habe ein Programm in C geschrieben JPEG-Datei zu lesen, wie unten angegebenLese JPEG-Header-Datei in c

#include<stdio.h> 
#include<jpeglib.h> 
#include <stdlib.h> 
#include <string.h> 
int main() 
{ 
    struct jpeg_decompress_struct cinfo; 
    struct jpeg_error_mgr jerr; 
    int height,width,pixel_size; 

    FILE *infile = fopen("/home/dbsl/Desktop/Anu/index.jpg", "rb"); 

    cinfo.err = jpeg_std_error(&jerr); 
    jpeg_create_decompress(&cinfo); 
    jpeg_stdio_src(&cinfo, infile); 
    jpeg_read_header(&cinfo, TRUE); 
    jpeg_start_decompress(&cinfo); 

    width = cinfo.output_width; 
    height = cinfo.output_height; 
    pixel_size = cinfo.output_components; 
    printf("Width = %d",width); 
    printf("height = %d",height); 

    return(1); 
} 

Das Programm ist erfolgreich auf Fedora20 zusammengestellt. Aber wenn sie ausgeführt Datei ausführen gibt es folgende Fehlermeldung:

./a.out: Fehler beim Laden von Shared Libraries: libjpeg.so.9: kann nicht mit anderen geteilt Objektdatei öffnen: Keine solche Datei oder das Verzeichnis

Ich verstehe nicht, Was ist das Problem.

+1

'Keine solche Datei oder Verzeichnis' welchen Teil Sie nicht verstehen? –

Antwort

0

Ihr Programm verwendet eine gemeinsame Bibliothek (libjpeg.so.9). Wenn Sie Ihr Programm ausführen, wird diese Bibliothek von ld.so(8) geladen. Also musst du diese Datei haben, wo ld.so(8) versuchen wird, es zu finden.

Siehe man ld.so zu sehen, wo diese Datei setzen (Standardpfad /lib und /usr/lib sind).

+0

Ich habe das versucht, aber es funktioniert immer noch nicht. Aber jetzt ist das Problem gelöst. – user6667312

+0

@ user6667312: Wie hast du es gelöst? – blatinox