Poppler

Alles rund um die Programmierung mit Qt
Antworten
Tomaxx
Beiträge: 71
Registriert: 7. Juni 2017 09:05

Poppler

Beitrag von Tomaxx »

Hallo zusammen

Ich möchte gerne poppler benutzen, um PDFs in meinem Programm anzuzeigen.

Ich habe mir poppler 0.7.2 heruntergeladen und versuche es nun zu erstellen. Ich habe gelesen, dass man cmake benutzen soll, aber das benutzt in meinem system immer msvc zum kompilieren und dabei bekomme ich auch fehlermeldungen.

Wie kann ich poppler unter Qt5.12 mit mingw 7.3.0 64bit unter Qt verwenden? Kann mir jemand as Erstellen abnehmen? Ich schaff das einfach niocht.

Danke,

Thomas4
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Poppler

Beitrag von Christian81 »

Wenn Du den MSVC command-Prompt ausführst oder msvc im PATH hast wird natürlich auch MSVC benutzt.
Man kann cmake aber mitgeben welchen Compiler er benutzen soll. Zum einen über die (Linux)Standard-Variablen 'CC' und 'CXX' oder direkt beim CMake-Aufruf:

Code: Alles auswählen

set CC=gcc
set CXX=g++
cmake ...
oder

Code: Alles auswählen

cmake .. -DCMAKE_CXX_COMPILER=<pfad zu g++>/g++ -DCMAKE_CC_COMPILER=<pfad zu gcc>/gcc
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Tomaxx
Beiträge: 71
Registriert: 7. Juni 2017 09:05

Re: Poppler

Beitrag von Tomaxx »

Hat leider nicht fuinktioniert:

Code: Alles auswählen

D:\dl\Dateien\Entwicklung\CPP\PumPpro\src\build>cmake .. -DCMAKE_CC_COMPILER=D:\Qt\Tools\mingw530_32\bin/g++ -DCMAKE_CC_COMPILER=D:\Qt\Tools\mingw530_32\bin/gcc
-- Building for: Visual Studio 14 2015
-- Selecting Windows SDK version  to target Windows 10.0.17134.
-- The C compiler identification is MSVC 19.0.24210.0
-- The CXX compiler identification is MSVC 19.0.24210.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:49 (install):
  install TARGETS given no ARCHIVE DESTINATION for static library target
  "poppler-qt5".


-- Configuring incomplete, errors occurred!
See also "D:/dl/Dateien/Entwicklung/CPP/PumPpro/src/build/CMakeFiles/CMakeOutput.log".
Geht das überhaupt mit cmake? Make scheint nicht installiert oder im pfad zu sein.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Poppler

Beitrag von Christian81 »

Es gibt kein 'make' unter Windows sondern nur mingw32-make und der der gcc compiler und andere Dinge sollten natürlich im PATH sein.
Und man sollte nicht \ benutzen sondern entweder \\ oder /
Des weiteren mal noch den korrekten Generator auswählen -> '-G "MinGW Makefiles"'
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Tomaxx
Beiträge: 71
Registriert: 7. Juni 2017 09:05

Re: Poppler

Beitrag von Tomaxx »

Code: Alles auswählen

D:\dl\Dateien\Entwicklung\CPP\PumPpro\src>mingw32-make .. -DCMAKE_CC_COMPILER=D:/Program Files/ingw-w64/x86_64-7.3.0-win32-seh-rt_v5-rev0/mingw64/bin/g++ -DCMAKE_CC_COMPILER=D:/Program Files/ingw-w64/x86_64-7.3.0-win32-seh-rt_v5-rev0/mingw64/bin/gcc -G "MinGW Makefiles"
mingw32-make: invalid option -- G
Usage: mingw32-make [options] [target] ...
Und ohne den Parameter "G":

Code: Alles auswählen

D:\dl\Dateien\Entwicklung\CPP\PumPpro\src>mingw32-make .. -DCMAKE_CC_COMPILER=D:/Program Files/ingw-w64/x86_64-7.3.0-win32-seh-rt_v5-rev0/mingw64/bin/g++ -DCMAKE_CC_COMPILER=D:/Program Files/ingw-w64/x86_64-7.3.0-win32-seh-rt_v5-rev0/mingw64/bin/gcc
mingw32-make (pid = 36076)
mingw32-make is suspending for 30 seconds...done sleep(30). Continuing.
mingw32-make: *** MAKE_CC_COMPILER=D:/Program: Invalid argument.  Stop.
Leute, ich bin dafür zu doof, glaube ich....

Mein letzter Versuch

Code: Alles auswählen

D:\dl\Dateien\Entwicklung\CPP\PumPpro\src>mingw32-make .. -DCMAKE_CC_COMPILER="D:/Program Files/ingw-w64/x86_64-7.3.0-win32-seh-rt_v5-rev0/mingw64/bin/g++" -DCMAKE_CC_COMPILER="D:/Program Files/ingw-w64/x86_64-7.3.0-win32-seh-rt_v5-rev0/mingw64/bin/gcc"
mingw32-make (pid = 17424)
mingw32-make is suspending for 30 seconds...done sleep(30). Continuing.
mingw32-make: *** MAKE_CC_COMPILER=D:/Program Files/ingw-w64/x86_64-7.3.0-win32-seh-rt_v5-rev0/mingw64/bin/g++: Invalid argument.  Stop.
Ich glaube ich gebs auf...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Poppler

Beitrag von Christian81 »

Warum rufst Du auf einmal anstatt cmake mingw32-make auf?
Zum anderen passen deine Pfade nicht: "D:/Program Files/ingw-w64"
Und auf Leerzeichen im Pfad würde ich generell verzichten - gibt nur Ärger
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Tomaxx
Beiträge: 71
Registriert: 7. Juni 2017 09:05

Re: Poppler

Beitrag von Tomaxx »

Die Leerzeichen hat Windows hier eingefügt, nicht ich.

Das cmake hat ja nicht funktioniert. Ausserdem:
Christian81 hat geschrieben: 22. Dezember 2018 17:29 Es gibt kein 'make' unter Windows sondern nur mingw32-make und der der gcc compiler und andere Dinge sollten natürlich im PATH sein.
Und man sollte nicht \ benutzen sondern entweder \\ oder /
Des weiteren mal noch den korrekten Generator auswählen -> '-G "MinGW Makefiles"'
mingw32-make soll dem make entsprechen und das mingw verwende ich auch in Qt.

Aber wenn du mir den finalen Tipp geben kannst, versuche ich es noch einmal.

Thomas
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Poppler

Beitrag von Christian81 »

Leerzeichen in Pfaden: Program Files
cmake erzeugt Makefiles welche von make (unter Windows 'nmake' bei MSVC, mingw32-make bei MinGW) benutzt werden um etwas zu kompilieren... also zwei absolut unterschiedliche Dinge. Bei cmake kann man angeben für welchen Compiler er die Makefiles erzeugen soll, deshalb mein Hinweis mit der Kommandozeilenoption '-G'
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Tomaxx
Beiträge: 71
Registriert: 7. Juni 2017 09:05

Re: Poppler

Beitrag von Tomaxx »

Also müsste ich zuerst cmake und dann mingw32-make enutzen?
glemi
Beiträge: 1
Registriert: 16. Juli 2019 07:38

Re: Poppler

Beitrag von glemi »

Hi ,
ich habe das selbe Problem wie Tomaxx, ich bekomme Poppler einfach nicht zum laufen egal in welcher Form ich es herunterlade oder welchem Tutorial ich folge es läuft immer auf eine andere Fehlermeldung hinaus. Da ich noch ein Anfänger bin sowohl in C++ als auch in QT bin, ist mir bewusst das dies an mir liegt. Da ich aber nicht die Zeit habe mich nochmal zwei Wochen damit auseinander zu setzten um eine halbwegs brauchbare Beschreibung zu finden welche am Ende wieder nicht funktioniert, hätte ich eine bitte.
Könnte bitte jemand eine vollständige Schritt für Schritt Anleitung erstellen mit der man libpoppler-qt5 auf Windows 10 zum laufen bekommt?

mit freundlichen Grüßen Glemi
Tomaxx
Beiträge: 71
Registriert: 7. Juni 2017 09:05

Re: Poppler

Beitrag von Tomaxx »

Ich habe jetzt poppler 0.84.... könnte es damit besser klappen?

Kann mir jemand helfen, es unter Qt5 einzusetzen?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Poppler

Beitrag von Christian81 »

Einfach mal probieren - normalerweise funktioniert es sobald Qt gefunden wird - hatte nie große Probleme damit.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Tomaxx
Beiträge: 71
Registriert: 7. Juni 2017 09:05

Re: Poppler

Beitrag von Tomaxx »

Kann ich poppler einfach in den Pfad und in qt integrieren oder muss ich kompilieren?
Das kann ich nämlich nicht.
Antworten