Compiler Poppler pour Qt5.8 sous MacOS Sierra

La librairie Poppler, et plus particulièrement poppler-qt5  permet d’afficher des pdf lorsqu’on utilise la bibliothèque graphique Qt5. Elle s’avère cependant un brin technique à compiler sous Mac (alors que sous linux, elle existe dans les packages de la plupart des distributions). Les opérations suivantes ont été effectuées sous Mac OSX 10.10 Yosemite MacOS 10.12 Sierra.

Préparation

  • Installer pkg-config. Cela peut se faire en compilant les sources, ou en utilisant un binaire précompilé disponible par exemple ici.
  • Mettre à jour le chemin de pkg-config et ajouter le binaire au PATH, en ajoutant ces lignes au fichier ~/.bash_profile :

  • Compiler et installer Openjpeg

C’est un peu  pénible si on veut compiler des sources (utilisation de CMake…). Mais on trouve une archive contenant tout ce qu’il faut déjà compilé pour Mac OS X sur cette page.
Il faut récupérer l’archive contenant Darwin : récemment il s’agissait de openjpeg-2.1.0-Darwin-i386.tar.gz. Il faut maintenant la décompresser et aller tout mettre dans les bons répertoires :

  • Installer (si ce n’est pas déjà fait) Qt5. On suppose que l’installation (ici de la version 5.4 5.8) est faite dans : /Users/gwenael/Qt5.8.0 (à adapter à votre installation évidemment).
  • Ajouter le chemin des exécutables au PATH en ajoutant ces lignes au fichier ~/.bash_profile :

  • Quitter le Terminal et le relancer pour que les modifications soient prises en compte.
  • Pour que Poppler trouve les headers de Qt5 (qui sont dans des répertoires .framework), après de nombreuses tentatives je n’ai pas trouvé d’autre moyen que de créer des liens symboliques dans le répertoire include de Qt :

Installation

  • Télécharger les sources de Poppler. Décompresser le fichier et se rendre dans le répertoire créé.
  • Pour une raison inconnue, un fichier source posait problème, le compilateur ne réussissant pas trouver des fichiers d’en-tête. Il s’agit du fichier : qt5/tests/test-render-to-file.cpp dans lequel il faut remplacer au début :

par

  • Lancer les commandes suivantes avant la configuration de poppler (ou mieux, copier ces lignes dans le fichier ~/.bash_profile pour  ne pas avoir à recommencer une prochaine fois) :

  • Mise à jour février 2017 : avec la version 0.51 de Poppler et 5.8 de Qt5, j’ai été obligé de préciser avant la configuration de Poppler :

  • On peut alors lancer la configuration :

Bien vérifier qu’à la fin de la configuration la ligne suivante soit présente :

  • Le lancement direct de make pose problème : le compilateur installé par XCode ne reconnaissant pas un des arguments de compilation du Makefile. Solution un peu violente : supprimer l’argument en question directement dans le Makefile :

Attention : à réitérer après chaque lancement de configure si vous faites plusieurs essais.

      • On peut alors enfin lancer :

 Utilisation

La librairie poppler (avec poppler-qt5) est alors installée sur le système. Pour l’utiliser dans un programme C++ utilisant Qt5, ajouter dans le fichier  .pro :


Et ajouter dans le fichier source utilisant la librairie :

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

7 commentaires sur “Compiler Poppler pour Qt5.8 sous MacOS Sierra”