Y a-t-il quelqu'un qui réussit à inclure libjpeg dans un compilateur? J'ai tout essayé: Dev C++, VS10, CodeBlocks, copiez les en-têtes et la lib à la main, ajoutez avec l'éditeur de liens mais rien. En ce moment, je suis vraiment confus car il n'y a pas de guide officiel sur la façon de le compiler dans un compilateur. Je serais vraiment heureux si quelqu'un pouvait fournir un tutoriel sur la façon dont la bibliothèque peut être compilée dans n'importe quel compilateur. Merci d'avance.
Voici comment j'ai construit libjpeg en utilisant MinGW sous Windows:
J'ai une copie de http://sourceforge.net/projects/mingw/ . Citant de www.mingw.org:
MSYS est une collection d'utilitaires GNU tels que bash, make, gawk et grep pour permettre la construction d'applications et de programmes qui dépendent des outils UNIX traditionnels.
Nous en aurons besoin pour exécuter le script configure
fourni avec les sources libjpeg.
Depuis http://www.ijg.org/ , prenez le package au format Unix (celui de Windows ne fonctionnera pas avec cette procédure). J'ai pris le jpeg_8d
version.
J'ai créé un répertoire temporaire nommé tmp
dans D:\
, mais vous pouvez choisir ce qui convient à vos besoins. Ce qui compte, c'est le nom des chemins dans MSYS. Comme il apporte une certaine * Unixity * à Windows, les chemins ne peuvent pas être utilisés dans leur forme d'origine. En un mot:
C:\path\to\file
devient /c/path/to/file
au pays MSYS, un si D:\tmp
devient /d/tmp
.
Décompressez les sources libjpeg dans D:\tmp
, donc vous avez un jpeg-8d
répertoire là-dedans.
Créer un jpeg-build
répertoire à l'intérieur D:\tmp
, il contiendra la bibliothèque construite.
Maintenant, tout est prêt pour la construction.
C'est le mantra de la construction en terre Unix. Une option doit être ajoutée pour rediriger le processus d'installation vers D:\tmp\jpeg-build
.
Exécutez les commandes suivantes dans un MSYS Shell (également nommé MinGW Shell dans le menu Démarrer de Windows):
cd /d/tmp/jpeg-8d
./configure --prefix=/d/tmp/jpeg-build
make
make install
Comme étape supplémentaire, vous pouvez exécuter make test
Pour la sécurité.
Ces commandes créeront des versions statiques et partagées de libjpeg.
Si tout se passe bien, vous pouvez supprimer le D:\tmp\jpeg-8d
répertoire, mais conservez le jpeg-build
un. Il contient:
include
, contenant les en-têtes libjpeg. Vous pouvez les déplacer vers le répertoire des en-têtes de votre compilateur.lib
, avec .a
fichier à passer à l'éditeur de liens. Vous pouvez les déplacer vers le répertoire de bibliothèque de votre compilateur.bin
, contenant la bibliothèque partagée libjpeg libjpeg-8.dll
et outils jpeg.share
, contenant des pages man
pour les outils jpeg.Vous pouvez maintenant construire votre programme et le lier à libjpeg en indiquant les bons chemins d'inclusion et de bibliothèque.
Vous pouvez trouver de nombreux détails sur le processus de construction et d'installation de libjpeg dans install.txt
à l'intérieur du paquet source.
J'espère que cela vous sera utile.
Pour compiler libjpeg
9 dans Visual Studio 2012, voici les étapes (après avoir décompressé le fichier d'archive):
Téléchargez le fichier WIN32.MAK
(par exemple, depuis http://www.bvbcode.com/code/f2kivdrh-395674-down ), et placez une copie dans le répertoire du code source racine (éventuellement C:\jpeg-9
, mais cela dépend de l'endroit où vous l'avez décompressé). Je ferai référence à ce répertoire comme %jpegsrc%
à partir de maintenant. Avoir ce fichier est important; sinon, l'étape 3 produira une erreur.
Dans l'invite de commande de Visual Studio, ouvrez à %jpegsrc%
:
cd %jpegsrc%
À la même invite de commandes, exécutez ce qui suit:
NMAKE /f makefile.vc setup-v10
Cela créera deux solutions Visual Studio 2010 dans %jpegsrc%
: jpeg.sln
et apps.sln
.
Ouvrez chaque solution dans Visual Studio 2012. Chacune vous invitera à mettre à jour tous les projets au format 2012. Cliquez sur "Mettre à jour". Une fois que je l'ai fait, l'invite n'est pas apparue. Dans ce cas, cliquez avec le bouton droit sur la solution jpeg
dans l'Explorateur de solutions et choisissez "Mettre à jour les projets VC++ ...", ce qui produira la même invite.
Enregistrez et créez chaque solution comme d'habitude. (Vous devez construire le jpeg.sln
solution avant apps.sln
, car ce dernier dépend du premier.)
Remarque: ce processus devrait fonctionner correctement dans Visual Studio 2010, sans la mise à jour, mais je ne l'ai pas testé.
Mise à jour: Cette méthode fonctionne toujours dans Visual Studio 2015 pour libjpeg-9a
.
Il est vraiment simple de construire jpeg.lib avec VS10.
Tout d'abord, téléchargez le code source libjpeg au format Zip. Au moment où j'écris ceci, vous pouvez le trouver ici .
Extrayez ensuite le contenu du fichier Zip sur votre disque.
Ensuite, ouvrez un shell d'invite de commande VS2010 (ou appelez vcvarsall.bat sur n'importe quelle fenêtre d'invite de commande), accédez au répertoire source jpeg (jpeg-8d dans le téléchargement référencé ci-dessus) et tapez ce qui suit:
nmake -f makefile.win setup-v10
Cela générera deux solutions VS2010 et un tas de fichiers de projet. Les solutions sont:
jpeg.sln
, qui construit jpeg.lib
apps.sln
, qui crée les exemples d'applications.Bonne chance!
Si vous n'avez pas installé Visual Studio 2010, voici ce qui fonctionne sur Visual Studio 2017:
Étapes de base/communes:
cd
) où vous avez extrait la source de la bibliothèqueApproche VS 2017:
Incluez le répertoire Windows SDK v7.1A (requis pour Win32.Mak par nmake plus tard) en exécutant: set INCLUDE=%INCLUDE%;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
Courir nmake /f makefile.win setup-v15
(notez la v15 pour VS2017 ici)
À partir de là, suivez ce que @AthanasiusOfAlex a expliqué pour mettre à niveau la solution Visual Studio 2010 vers la version Visual Studio que vous exécutez. Si vous souhaitez la configuration de débogage, suivez les explications de @SteveEng.
Erreurs que vous pourriez rencontrer:
nmake
échoue et vous indique qu'il ne sait pas comment créer jconfig.h, renommez manuellement le fichier jconfig.vc
à jconfig.h
nmake
échoue et vous indique que Win32.Mak est introuvable, copiez-le manuellement à partir du répertoire SDK mentionné à l'étape # 4 dans le répertoire source libjpeg. Si vous n'avez pas installé cette version du SDK, téléchargez le fichier à partir d'une ressource fiable.nmake
échoue et vous dit qu'il ne sait pas comment faire setup-v15
, essayez et faites des erreurs en commençant par setup-v10
, setup-v11
, etc ... Ce sont des versions VS et l'une d'elles devrait fonctionner tant que vous avez une version VS postérieure à VS 2008 installée.J'espère que cela aide les gens à traverser une douleur similaire avec cela.
Si vous souhaitez également le mode débogage dans MSVC. Suivez la méthode d'AthanasiusOfAlex, construisez la version, puis:
Construisez et vous avez terminé!