Bonjour,

J'ai développé un PDF Viewer sous Delphi qui exploite une PDFium.DLL
https://github.com/tothpaul/PDFiumReader

cela fonctionne bien mais l'API de PDFium est trop limitée pour ce que je voudrais faire...du coup je voudrais créer une nouvelle DLL mais pas moyen de compiler ce foutu code sous Visual Studio

j'ai tenté de suivre les tuto qui parlent de ninja et autres outils exotiques, et j'obtiens une compilation du code, mais pas de DLL

j'ai bien tenté de partir de zéro, c'est à dire créer un projet DLL sous VS (ça je sais faire) puis de lier le code de PDFium pour créer ma propre API mais là encore j'ai des tas d'erreurs qui sont très logiquement dues aux problèmes de configuration des dépendances (un truc très pénible en C++ pour un développeur Delphi où tout est explicitement déclaré).

Est-ce que par hasard il y a un développeur C++ par ici qui aurait déjà joué avec cela et qui voudrait bien partager une Solution VS qui fonctionne ?

pour info je suis parti des depot_tools
https://chromium.googlesource.com/ch...epot_tools.git

et en suivant ceci https://pdfium.googlesource.com/pdfium/

Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
set path=%path%;C:\PDFium\depot_tools
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
mkdir repo
cd repo
call gclient config --unmanaged https://pdfium.googlesource.com/pdfium.git
call gclient sync
cd pdfium
call build\install-build-deps.sh
gn args out\Debug

avec la configuration suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
use_goma = false  # Googlers only. Make sure goma is installed and running first.
is_debug = true  # Enable debugging features.
 
# Set true to enable experimental Skia backend.
pdf_use_skia = false
# Set true to enable experimental Skia backend (paths only).
pdf_use_skia_paths = false
 
pdf_enable_xfa = false # Set false to remove XFA support (implies JS support).
pdf_enable_v8 = false  # Set false to remove Javascript support.
pdf_is_standalone = true  # Set for a non-embedded build.
is_component_build = false # Disable component build (must be false)
 
clang_use_chrome_plugins = false  # Currently must be false.
et je lance ninja -C out\Debug pdfiumça mouline un certain temps (932 objets à compiler)

avec ça j'obtiens, entre autre un fichier PDFium.lib mais VS ne semble pas l'aimer, peut-être car il contient l'entête !<thin> qui est encore un format à la con si j'ai bien compris, avec des .obj externes
https://stackoverflow.com/questions/...a-thin-archive

donc je me retrouve sans DLL, avec un .lib que je ne sais pas exploiter et sans savoir comment produit une DLL avec ninja

Quelqu'un peut m'éclairer ?

Merci