Librairie jpeglib

semaesma Messages postés 17 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 4 juillet 2012 - 1 mai 2009 à 18:31
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 8 nov. 2010 à 10:16
Bonjour,

Je travaille sur une application opengl sous linux (ubuntu) mais j'arrive pas à inclure la librairie jpeglib.h

es qu'il ya une personne qui pourrait me donner de l'aide

merci

13 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
1 mai 2009 à 20:30
Je pense que tu veux parler de la bibliothèque libjpeg et non de la librairie.
L'as-tu seulement installé ?
Tente un : sudo apt-get install libjpeg-dev
0
semaesma Messages postés 17 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 4 juillet 2012
1 mai 2009 à 21:02
oui , c'est ce que j'ai fait
Merci bcp
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
10 mai 2009 à 14:59
Salut,

Donne nous au moins le message d'erreur précis...
0
semaesma Messages postés 17 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 4 juillet 2012
10 mai 2009 à 18:49
le message est : jpeg et toutes les fonctions qui utilisent cette librairie sont pas déclarées
ey quand j'installe la librairie il m'affiche que cette librairie existe déja
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
10 mai 2009 à 19:25
pas déclarées -> undeclared ? Parce qu'il y a undefined aussi alors je me méfie...

Bin tu as bien inclus les headers nécessaire ??

#include <MaLibJpgQueJAime.h>

Au début des fichiers nécessaire.

Et passe le message d'erreur sous google, avec un nom d'identifier nécessaire.
0
semaesma Messages postés 17 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 4 juillet 2012
10 mai 2009 à 19:44
oui je l'ai inclu, et le code fonctionne bien sur d'autre PC
voici l'erreur exacte: et tu as raison c'est undefined

 In function `DecodeJPG':
insertJpeg.c:(.text+0x15): undefined reference to `jpeg_read_header'
insertJpeg.c:(.text+0x20): undefined reference to `jpeg_start_decompress'
insertJpeg.c:(.text+0xeb): undefined reference to `jpeg_read_scanlines'
insertJpeg.c:(.text+0x11f): undefined reference to `jpeg_finish_decompress'

: In function `LoadJPG':

insertJpeg.c:(.text+0x1af): undefined reference to `jpeg_std_error'
insertJpeg.c:(.text+0x1d3): undefined reference to `jpeg_CreateDecompress'
insertJpeg.c:(.text+0x1eb): undefined reference to `jpeg_stdio_src'
insertJpeg.c:(.text+0x223): undefined reference to `jpeg_destroy_decompress'

Merci
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
10 mai 2009 à 20:33
Ah ! Donc ce n'est pas un problème d'inclusion de header.

C'est un problème à l'édition des liens. Il faut que tu mettes les libs en entrée de ton lieur. Option -l sous gcc.

Quelque chose comme :
-ljpeg

Tu dois avoir un libjpeg.a ou quelque chose comme ça dans /usr/lib ou /usr/lib/jpg ou autre...
0
cs_Debutant2010 Messages postés 5 Date d'inscription dimanche 7 novembre 2010 Statut Membre Dernière intervention 7 novembre 2010
7 nov. 2010 à 01:14
Bonjour à tous,

Je cherche à travailler avec OpenGL sous Linux (Ubuntu plus précisément), je ne m'y connais pas trop sur OpenGL car je débute dessus

J'ai télécharger OpenGl, j'ai fais "./configure", puis "make" puis "make install" comme écrit dans la notice d'installation

Ensuite je vais dans le répertoire où se trouve mon fichier .cpp et un fichier Makefile qu'on m'a fournit contenant:

CC=g++ -O3 -Wall
LIBS=-lGL -lGLU -lglut -lX11 -lXi -lm -ljpeg
LIBSDIR= -L/usr/X11R6/lib

all : jpegtex

jpegtex : jpegtex.cpp
${CC} jpegtex.cpp -o jpegtex ${LIBS} ${LIBSDIR}

clean :
rm -f jpegtex *~ \#*\#



Donc dans le répertoire contenant mes 2 fichiers, qd je lance la commande "make" dans mon terminal j'obtiens

g++ -O3 -Wall jpegtex.cpp -o jpegtex -lGL -lGLU -lglut -lX11 -lXi -lm -ljpeg -L/usr/X11R6/lib
jpegtex.cpp:5: fatal error: GL/jpeglib.h: Aucun fichier ou dossier de ce type
compilation terminated.
make: *** [jpegtex] Erreur 1





Est-ce que quelqu'un peut m'aidé s'il vous plait ? J'y comprend rien
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
7 nov. 2010 à 10:23
Salut,

Il semble que le compilo ne trouve pas le header jpeglib.h.
Ligne 5 de jpegtex.cpp, tu as probablement :
#include <GL/jpeglib.h>


Soit tu as jpeglib.h sur ton PC, dans ce cas tu devrais ajouter une variable INCLUDE_PATH à ton makefile.

Soit tu dois télécharger le header comme indiqué par CptPingu.
0
cs_Debutant2010 Messages postés 5 Date d'inscription dimanche 7 novembre 2010 Statut Membre Dernière intervention 7 novembre 2010
7 nov. 2010 à 15:45
Merci pour ta réponse , oui le début de mon fichier Jpegtex.cpp, c'est :

#include <cstdio>
#include <cstdlib>

#include <freeglut.h>
#include <jpeglib.h>
#include <jerror.h>
0
cs_Debutant2010 Messages postés 5 Date d'inscription dimanche 7 novembre 2010 Statut Membre Dernière intervention 7 novembre 2010
7 nov. 2010 à 15:46
Merci pour ta réponse , oui le début de mon fichier Jpegtex.cpp, c'est :

#include <cstdio>
#include <cstdlib>

#include <GL/freeglut.h>
#include <GL/jpeglib.h>
#include <GL/jerror.h>

Dsl, j'avais oublié de rajouter les "GL/" dans mon post précedent
0
cs_Debutant2010 Messages postés 5 Date d'inscription dimanche 7 novembre 2010 Statut Membre Dernière intervention 7 novembre 2010
7 nov. 2010 à 16:46
Voilà ce que j'obtiens qd je fais ce qu' a dit CptPingu "sudo apt-get install libjpeg-dev":

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Note : sélection de « libjpeg62-dev » au lieu de « libjpeg-dev »
libjpeg62-dev est déjà la plus récente version disponible.
Le paquet suivant a été installé automatiquement et n'est plus nécessaire :
libicu-dev
Veuillez utiliser « apt-get autoremove » pour les supprimer.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.





Concernant l'autre solution, après le INCLUDE_PATH dans le fichier Makefile, je dois mettre le chemin du répertoire où se trouve le fichier Jpeglib.h, c'est ça ?


Autrement lorsque je fais "./Makefile", j'obtiens :

./Makefile: line 1: -O3 : commande introuvable
./Makefile: line 2: -lGLU : commande introuvable
./Makefile: line 3: -L/usr/X11R6/lib: Aucun fichier ou dossier de ce type
./Makefile: line 5: all : commande introuvable
./Makefile: line 7: jpegtex : commande introuvable
./Makefile: line 8: jpegtex.cpp : commande introuvable
./Makefile: line 10: clean : commande introuvable



Mais ça doit etre normal
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
8 nov. 2010 à 10:16

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Note : sélection de « libjpeg62-dev » au lieu de « libjpeg-dev »
libjpeg62-dev est déjà la plus récente version disponible.
Le paquet suivant a été installé automatiquement et n'est plus nécessaire :
libicu-dev
Veuillez utiliser « apt-get autoremove » pour les supprimer.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

La commande tapée, te dit que tu as bien la bibliothèque libjpeg. Certains paquets de ton système ne sont plus nécessaires et il te propose de les purger. Tu peux le faire, mais ce n'est pas lié à ton problème (donc ce n'est pas obligé).

En revanche, il faut faire un "./configure", suivit d'un "make", et non un "./Makefile".

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
Rejoignez-nous