CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Installer la librairie libJPEG

Vexallus
Vexallus
Niveau 10
19 novembre 2015 à 02:40:19

Bonjour

j'ai un projet à la fac en fait on doit faire un programme qui convertit une image en dessin ASCII

d'abord je dois déjà faire une fonction lire.c et ecrire.c qui va ouvrir une image et écrire dans une image
pour ça j'ai besoin de la libJPEG
Je suis sur Linux donc je la télécharge ici : http://libjpeg.sourceforge.net/
j'extrais jpeg-6b dans un dossier, j'ouvre la doc install.txt, c'est dit que si on est sur unix on a juste à faire ./configure make et make test
ça semble bien s'installer mais pendant le make j'ai qq warnings me disant que jerror.c utilise exit() et que l'include a été oublié :( j'ai pas testé en rajoutant l'include mais bon ça semble s'être installé mais dites-moi svp :

1) Pour compiler avec libjpeg, sur le projet de la prof elle dit qu'il faut rajouter -ljpeg, donc si je fais :
gcc -ljpeg
genre comme ça sur rien et que ça me met juste "no input files" etc comme si j'avais juste fait gcc tout seul, c'est qu'il reconnaît -ljpeg c'est bien ça ? (parce que quand je fais gcc -irjzjzejr genre n'imp il me le dit qu'il reconnaît pas l'option)
et en fait j'ai pas linké la librairie avec GCC du coup j'ai vu ici : http://www.linuxquestions.org/questions/programming-9/linking-libjpeg-461331/#post2322303
qu'il suffit que je fasse -L et y coller le chemin vers ljpeg
du coup quand j'vais dans le répertoire où j'ai le dossier de cette librairie (le truc que j'ai extrait) et que je fais:
gcc -L/jpeg-6b
jpeg-6b étant le nom de dossier
ça me met juste "no input files etc" donc je pense qu'il reconnaît l'option mais c'est sûr que c'est bien installé quand j'fais ça ? j'ai strictement suivi les conseils de la doc...

2) LE PROBLEME : quand j'essaye avec un helloworld.c SANS mettre d'include de la librairie ljpeg, ça marche
mais dès que je mets l'include j'ai ça :
https://image.noelshack.com/fichiers/2015/47/1447897073-screenshot-19112015-02-37-19.png

j'ai essayé avec : #include <libjpeg> parce que pour le projet de la prof, on a un bout de code pour lire une image JPG et un bout de code pour écrire dans une image JPG, et y a cet include au début (mais on doit compléter les instructions)
mais sur internet j'ai vu des gens qui font #include <jpeglib.h> (ça me semble plus "normal" vu qu'il y a le .h) mais ça fait exactement la même erreur :(

quelqu'un voit où est mon problème ? y a moyen de vérifier que ljpeg est correctement installé, et de vérifier dans la librairie quel sont exactement les includes qu'elle me permet d'utiliser svp ?

Vexallus
Vexallus
Niveau 10
19 novembre 2015 à 02:59:28

mise à jour il semblerait que en faisant -L/directory il faillie que je mette le dossier où la librairie a été INSTALLEE, en fait j'mettais les sources comme un con :( elle s'installe dans quel dossier normalement ? :(

Candystand
Candystand
Niveau 10
19 novembre 2015 à 10:20:26
gcc -L/jpeg-6b

va chercher, il me semble, le dossier jpeg-6b à la racine.

S'il n'est pas là, si tu veux chercher dans le dossier courant, met soit le chemin absolu, soit

gcc -L./jpeg-6b
Message édité le 19 novembre 2015 à 10:20:44 par Candystand
typedefstruct
typedefstruct
Niveau 7
19 novembre 2015 à 11:14:15

Je suis sur Linux donc je la télécharge ici : http://libjpeg.sourceforge.net/

Tu peux l'installer proprement sans t'embêter avec les make/install et compagnie :

apt-get install libjpeg-dev (à adapter selon ton gestionnaire de paquet aptitude/apt-get/yum/pacman/...)

En faisant comme ça, t'auras pas à réfléchir quoi mettre derrière le -L, ça sera -Ljpeg

$ cat img.c 
#include <stdio.h>
#include <jpeglib.h>

int main(void){

printf("hello");

return 0;
}

$ gcc -o imgx img.c -Ljpeg -Wall
$ ./imgx 
hello
Vexallus
Vexallus
Niveau 10
19 novembre 2015 à 19:10:43

merci ! :ok: je viens d'essayer avec le apt-get ça marche mais par contre j'ai des erreurs de compilation qui viennent de la librairie :ouch2: :ouch:

regardez :

https://image.noelshack.com/fichiers/2015/47/1447956619-screen2.png

je fais quoi maintenant ? :ouch2: j'imagine que c'est ptet un problème de compatibilité un truc comme ça ?

Vexallus
Vexallus
Niveau 10
19 novembre 2015 à 19:29:24

c'est bon ça marche ! manquait juste include stdio et stdlib ! :ok:

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment