IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Compilation de fcl-pdf sous fpc 3.0.0 [Free Pascal]


Sujet :

Lazarus Pascal

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut Compilation de fcl-pdf sous fpc 3.0.0
    Bonjour,

    j'ai tenté en vain de compiler cette bibliothèque sous Win 7-64 mais avec un Lazarus/FPC 32.

    Le dépôt git est plus précisément . Il est précisé:
    The fcl-pdf package contains a PDF generating unit fppdf that does not depend
    on any external libraries.
    Je dézippe fcl-pdf dans E:/ et crée c:/pp pour récupérer mon résultat.
    Ensuite
    Microsoft Windows [version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.

    E:\>cd fcl-pdf

    E:\fcl-pdf>C:\lazarus\lazarus32\fpc\3.0.0\bin\i386-win32\fpc fpmake.pp
    Free Pascal Compiler version 3.0.0 [2016/02/14] for i386
    Copyright (c) 1993-2015 by Florian Klaempfl and others
    Target OS: Win32 for i386
    Compiling fpmake.pp
    Linking fpmake.exe
    49 lines compiled, 0.2 sec, 285184 bytes code, 12260 bytes data

    E:\fcl-pdf>fpmake.exe build --globalunitdir=c:\pp
    The installer encountered the following error:
    Failed to execute fpc -iVTPTO : 2
    A savoir en plus que ligne 27 du fpmake.pp, j'ai dû virer win16 de P.OSes:=P.OSes-[embedded, win16, msdos, nativent];
    Quelqu'un a-t-il une idée sachant qu'il est précisé que ce code est compatible fpc 3.0.0 ?

    Merci. AD

  2. #2
    Membre confirmé

    Homme Profil pro
    Autre
    Inscrit en
    Novembre 2015
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Novembre 2015
    Messages : 145
    Points : 625
    Points
    625
    Par défaut
    Rajoutez le path vers les binaires de FPC auparavant. Dans votre cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set path=%path%;C:\lazarus\lazarus32\fpc\3.0.0\bin\i386-win32

    Et modifiez également la valeur pour le paramètre "--globalunitdir":
    "C:\lazarus\lazarus32\fpc\3.0.0" au lieu de "c:\pp" dans votre cas, normalement.


    A priori, cela semble ensuite fonctionner:
    c:\xxx>C:\laztrunk\fpc\3.0.0\bin\i386-win32\fpc fpmake.pp
    Free Pascal Compiler version 3.0.0 [2016/02/14] for i386
    Copyright (c) 1993-2015 by Florian Klaempfl and others
    Target OS: Win32 for i386
    Compiling fpmake.pp
    Linking fpmake.exe
    50 lines compiled, 0.5 sec, 285184 bytes code, 12260 bytes data

    c:\xxx>fpmake build --globalunitdir=C:\laztrunk\fpc\3.0.0
    Start compiling package fcl-pdf for target i386-win32.
    Compiling src\fpttfencodings.pp
    Compiling src\fpparsettf.pp
    Compiling src\fpttf.pp
    Compiling src\fppdf.pp
    [100%] Compiled package fcl-pdf

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut
    Merci FChrisF. C'est fonctionnel. Donc je résume :

    D'abord vérifier la variable d'environnement pointant sur le compilateur et l'ajouter si nécessaire:
    set path=%path%;C:\lazarus\lazarus32\fpc\3.0.0\bin\i386-win32
    Dans mon cas, je l'avais enlevée pour compiler SQLCipher avec mon Qt-Mingw (dont la version est différente). Sous Qt, le cryptage des fichiers SQLite n'est pas intégré et il faut aller à la pêche chez le concurrent (wxWidgets) pour récupérer le code nécessaire à Qt


    1. Récupérer les sources à partir de git et par exemple les placer dans le répertoire temporaire E:/fcl-pdf : Le dépôt git est le suivant et vous n'avez besoin que de dézipper ce sous répertoire.
    2. Compiler : Corriger si nécessaire la ligne 27 du fpmake.pp en enlevant win16 de P.OSes:=P.OSes-[embedded, win16, msdos, nativent];
      Ensuite
      Microsoft Windows [version 6.1.7601]
      Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.

      E:\>cd fcl-pdf

      E:\fcl-pdf>C:\lazarus\lazarus32\fpc\3.0.0\bin\i386-win32\fpc fpmake.pp
      Free Pascal Compiler version 3.0.0 [2016/02/14] for i386
      Copyright (c) 1993-2015 by Florian Klaempfl and others
      Target OS: Win32 for i386
      Compiling fpmake.pp
      Linking fpmake.exe
      49 lines compiled, 0.2 sec, 285184 bytes code, 12260 bytes data
      Puis
      E:\fcl-pdf>fpmake build --globalunitdir=C:\lazarus\lazarus32\fpc\3.0.0
      Start compiling package fcl-pdf for target i386-win32.
      Compiling src\fpttfencodings.pp
      Compiling src\fpparsettf.pp
      Compiling src\fpttf.pp
      Compiling src\fppdf.pp
      [100%] Compiled package fcl-pdf
    3. Installer
      Microsoft Windows [version 6.1.7601]
      Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.
      E:\>cd fcl-pdf
      E:\fcl-pdf>fpmake.exe install --globalunitdir=C:\lazarus\lazarus32\fpc\3.0.0 --pr
      efix=C:\lazarus\lazarus32\fpc\3.0.0 --baseinstalldir=C:\lazarus\lazarus32\fpc\3.
      0.0
      Installing package fcl-pdf
      Installation package fcl-pdf for target i386-win32 succeeded
      E:\fclpdf>

    On peut alors compiler l'exemple et faire les tests (cf E:\fcl-pdf). Pour l'exemple, télécharger les fontes utilisées : http://ftp.gnu.org/gnu/freefont/free...f-20120503.zip. Les décompiler et les placer dans E:\fclpdf\examples\fonts. Puis
    Microsoft Windows [version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.

    E:\fcl-pdf\examples>testfppdf
    Document used 804 PDF objects/commands
    Heap dump by heaptrc unit
    8240 memory blocks allocated : 10173636/10214360
    8240 memory blocks freed : 10173636/10214360
    0 unfreed memory blocks : 0
    True heap size : 393216 (96 used in System startup)
    True free heap : 393120

    E:\fcl-pdf\examples>
    Et voici le résultat obtenu : test.pdf

    Remarque : j'utilise "habituellement" la vieille libjpfpdf qui fonctionne bien sous Lazarus 1.6/fpc 3.00, qui est à mon sens bien conçue, qui permet de numéroter les pages, de gérer les Header et Footer.... Je vais étudier la nouvelle fcl-pdf pour comparer. Mon problème est l'utilisation de ces bibliothèques lors de la transformation en HTMLtoPDF avec l'encodage des composants TMS Software. J'ai commencé en FMX avec certains résultats mais évidemment mon "encodage" dépend de la syntaxe HTML utilisée par TMS. Depuis que j'ai acheté les composants TMS sous Lazarus et que j'ai contacté la "foundation", les cartes sont rebattues pour moi d'autant que l'excellent UniDac est porté sous Lazarus. Mon XE7 ne me permet plus une utilisation professionnelle car c'est une version Education dont je disposais quand j'étais enseignant et que j'utilisais pour mes instruction et plaisir personnels et pour mon lycée. Maintenant, si Lazarus arrive à proposer à mon entreprise le même type de contrat souscrit auprès de Qt, je peux envisager de "signer" avec la "foundation lazarus/fpc". Lors de mes contacts par mail avec cette dernière, j'ai proposé notamment de souscrire un contrat pour mettre à jour des composants en acceptant volontiers que le code devienne public au bout de 2 ans par exemple, comme semble pouvoir le faire Qt désormais. L"équipe de la fondation aborde le sujet ce lundi en réunion. A suivre donc puisque l'option FMX n'est pas fermée non plus.
    Mais si, dans le cadre de ce forum, quelqu'un est ouvert au partage de code public (donc libre) sous Lazarus pour un HTMLtoPDF comme j'ai pu le faire autrefois avec Chris37 (sous mon pseudo de prof), je suis à disposition.

    Cordialement. AD.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Free Pascal] Compiler une unité sous FPC avec l'IDE graphique sous Windows
    Par antomockdc dans le forum Free Pascal
    Réponses: 8
    Dernier message: 17/03/2016, 14h24
  2. Compilation d'un programme sous Linux
    Par Tymk dans le forum FMOD
    Réponses: 6
    Dernier message: 03/07/2008, 08h41
  3. compilation de librairie .pll sous linux
    Par Mons dans le forum Oracle
    Réponses: 4
    Dernier message: 10/03/2005, 16h45
  4. Compilation du noyau, "make" sous debian
    Par romca dans le forum Administration système
    Réponses: 7
    Dernier message: 24/02/2005, 18h50
  5. Comment compiler un prog Gtk sous Debian ?
    Par GLDavid dans le forum GTK+
    Réponses: 3
    Dernier message: 25/06/2004, 19h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo