QFile PDF Datei öffnen
Für mich kling das irgendwie nach: "Macht mir bitte einer meine Hausaufgaben, weil ich zu faul dazu bin."fr33g hat geschrieben:Ok, und was soll ich dann alles kompilieren und vor allem wie?
Alle Source-Files vom Poppler Qt4 ordner?
Und wie binde ich diese dann in mein Projekt ein?
Hoffe ihr könnt mir das vll erklären
Leg Dir ein gutes Buch zu dem Thema Programmieren in C++ oder such die Grundlagen im Internet.
Es wird Dir bestimmt keiner alles vorkauen, sodass Du das nur noch schlucken musst.
In den meisten Foren gibt es Hilfe zur Selbsthilfe und keine Komplett-Lösungen.
Linux, das längste Text-Adventure aller Zeiten
Ich such keinen, der mir meine Hausaufgaben macht!
Ich habe gleich 3 Bücher hier liegen, 2 zu C++ eins zu Qt.
Und ich bin net einer, der net selber sich sachen raussucht, aber wenn ich nix finde, oder es net raffe kann ich leider auch nix dafür=(
So und ich verstehe einfach nicht wie ich diese Poppler Bibliothek nutzen kann, und dachte eigentlich jemand könnte mir das hier vielleicht erklären...
Ich bin jetzt im Poppler Qt 4 ordner unter src, so und da ist ein makefile drinnen.
Wenn ich das jedoch von der Kommandozeile aus benutzen will mit:
gcc makefile.in
bekomm ich immer den Fehler ld returned 1 exit status.
Daher dachte ich jemand wäre vielleicht so freundlich und kann mir kurz erklären wie ich das anstellen soll....
Danke
EDIT:
Wenn ich zu faul wäre, würde ich mich wohl kaum in meiner Freizeit mit Programmierung beschäftigen.
gruß freeG
Ich habe gleich 3 Bücher hier liegen, 2 zu C++ eins zu Qt.
Und ich bin net einer, der net selber sich sachen raussucht, aber wenn ich nix finde, oder es net raffe kann ich leider auch nix dafür=(
So und ich verstehe einfach nicht wie ich diese Poppler Bibliothek nutzen kann, und dachte eigentlich jemand könnte mir das hier vielleicht erklären...
Ich bin jetzt im Poppler Qt 4 ordner unter src, so und da ist ein makefile drinnen.
Wenn ich das jedoch von der Kommandozeile aus benutzen will mit:
gcc makefile.in
bekomm ich immer den Fehler ld returned 1 exit status.
Daher dachte ich jemand wäre vielleicht so freundlich und kann mir kurz erklären wie ich das anstellen soll....
Danke
EDIT:
Wenn ich zu faul wäre, würde ich mich wohl kaum in meiner Freizeit mit Programmierung beschäftigen.
gruß freeG
Du verwendest Linux, oder?
Deine Distribution hat sicher ein poppler-Paket.
Evtl. brauchst du noch sowas wie poppler-bindings-qt4, aber das kann man nur raten solange wir nicht wissen welche Distribution du verwendest.
Du kannnst Poppler auch selber kompilieren. Wie das geht steht alles im "INSTALL" welches sich im poppler-tarball befindet (dein Source-Paket, welches du herunterlädst).
Poppler ist im Gegensatz zu weiten Teilen von boost eine Bibliothek die kompiliert werden muss, also nicht nur aus ein paar Headern besteht.
Einbinden geht, wie gesagt, über das .pro. INCLUDEPATH und LIBS korrekt gesetzt sollte es jetzt kein Problem mehr sein.
Wie du Letzteres anstellst steht in der Doku (Qt Assistant), Copy&Paste hierher wäre daher unnötig.
Deine Distribution hat sicher ein poppler-Paket.
Evtl. brauchst du noch sowas wie poppler-bindings-qt4, aber das kann man nur raten solange wir nicht wissen welche Distribution du verwendest.
Du kannnst Poppler auch selber kompilieren. Wie das geht steht alles im "INSTALL" welches sich im poppler-tarball befindet (dein Source-Paket, welches du herunterlädst).
Poppler ist im Gegensatz zu weiten Teilen von boost eine Bibliothek die kompiliert werden muss, also nicht nur aus ein paar Headern besteht.
Einbinden geht, wie gesagt, über das .pro. INCLUDEPATH und LIBS korrekt gesetzt sollte es jetzt kein Problem mehr sein.
Wie du Letzteres anstellst steht in der Doku (Qt Assistant), Copy&Paste hierher wäre daher unnötig.
Also ich habe jetzt einfach mal alle Dateien aus dem Src Verzeichnis in mein Projektordner kopiert.
Habe dann in der Projektdatei folgendes stehen:
Un in der hwidget.cpp steht
So funktioniert es leider immer noch nicht.
Vielleicht erkennt jetzt jemand den Fehler oder kann mir sagen was ich umändern muss.
Was meinst du mit Includepath und Lib.
Ich mein Includepath wär ja klar wär wohl der pfad wo die header-datein sind.
Aber was soll ich bei lib angeben?
Weil poppler-qt4.h ist ja ne header-datei und keine lib...
Vielen Dank schonmal
gruß freeG
EDIT:
Sorry, habe deinen Post erst jetzt gelesen, ne ich benutze Windows 7:-P
Ehm ja genau, ich kenne es nur von der Boost Bibliothek, da konnt ich zum Beispiel die Header-Dateien die ich benötigte für die Smart-Pointers gerade einbinden, sonst nix...
Habe dann in der Projektdatei folgendes stehen:
Code: Alles auswählen
HEADERS += hwidget.h
HEADERS += poppler-qt4.h
SOURCES += hwidget.cpp \
main.cpp
Code: Alles auswählen
#include "poppler-qt4.h"
Vielleicht erkennt jetzt jemand den Fehler oder kann mir sagen was ich umändern muss.
Was meinst du mit Includepath und Lib.
Ich mein Includepath wär ja klar wär wohl der pfad wo die header-datein sind.
Aber was soll ich bei lib angeben?
Weil poppler-qt4.h ist ja ne header-datei und keine lib...
Vielen Dank schonmal
gruß freeG
EDIT:
Sorry, habe deinen Post erst jetzt gelesen, ne ich benutze Windows 7:-P
Ehm ja genau, ich kenne es nur von der Boost Bibliothek, da konnt ich zum Beispiel die Header-Dateien die ich benötigte für die Smart-Pointers gerade einbinden, sonst nix...
Du mußt die poppler Bibliothek unabhängig von deinem Projekt erstellen und nicht die Header und Source Dateien in dein Projekt kopieren.
Hast du dir bei dem geposteten Link mal den Abschnitt "Building the Example" angeschaut?
Dort findest du nämlich dann folgenden Codeschnipsel der in deine Pro Datei muß.
Für mehr über INCLUDEPATH und LIBS schau bitte mal in der Doku nach.
Hast du dir bei dem geposteten Link mal den Abschnitt "Building the Example" angeschaut?
Dort findest du nämlich dann folgenden Codeschnipsel der in deine Pro Datei muß.
Code: Alles auswählen
INCLUDEPATH += /usr/include/poppler/qt4
LIBS += -L/usr/lib -lpoppler-qt4mfg
Günni
Günni
Ok, so wie ich das verstehe, muss ich jetzt erst mal irgendwie, weiß leider nicht wie ich das hinbekommen solle, die Poppler Library kompilieren.
Wenn ich das gemacht habe muss ich beim Includepath, das angeben, wie bei dem Beispiel building the example blos halt mit meinem Pfad.
und bei Lib auch.
Jetzt müsste ich es blos noch hinbekommen die Lib zu kompilieren..., wenn ich eine von den makefiles benutzen will, kommt immer collet2 ld returned 1 exit status...
gruß freeG
Wenn ich das gemacht habe muss ich beim Includepath, das angeben, wie bei dem Beispiel building the example blos halt mit meinem Pfad.
und bei Lib auch.
Jetzt müsste ich es blos noch hinbekommen die Lib zu kompilieren..., wenn ich eine von den makefiles benutzen will, kommt immer collet2 ld returned 1 exit status...
gruß freeG
Was meinst du mit ./configure && make.
Das sagt mir leider gar nichts=(
Also ich habe Poppler gedownloadet, als .tar.
So diese Datei habe ich entpackt nach.
So jetzt sitzt der Poppler-Ordner da:
C:\Program Files\poppler-0.12.4\poppler-0.12.4
Da sind dann die ganzen Ordner drinnen wie qt, qt4, poppler, test und und und, und eben die dateien wie conig.h.in, conif.h.cmake, configure und und und.
Jetzt gehe ich in die Eingabeaufforderung und gehe mittels:
cd C:\Program Files\poppler-0.12.4\poppler-0.12.4\
in den Ordner, so was muss ich nun eigenben?
Habe schon gcc makefile oder gcc configure und so probiert, und da kommt immer collect2 ld returned 1 exit status
gruß freeG und schonmal vielen Dank für die Hilfe=)
Das sagt mir leider gar nichts=(
Also ich habe Poppler gedownloadet, als .tar.
So diese Datei habe ich entpackt nach.
So jetzt sitzt der Poppler-Ordner da:
C:\Program Files\poppler-0.12.4\poppler-0.12.4
Da sind dann die ganzen Ordner drinnen wie qt, qt4, poppler, test und und und, und eben die dateien wie conig.h.in, conif.h.cmake, configure und und und.
Jetzt gehe ich in die Eingabeaufforderung und gehe mittels:
cd C:\Program Files\poppler-0.12.4\poppler-0.12.4\
in den Ordner, so was muss ich nun eigenben?
Habe schon gcc makefile oder gcc configure und so probiert, und da kommt immer collect2 ld returned 1 exit status
gruß freeG und schonmal vielen Dank für die Hilfe=)
Du wählst gerade den steinigsten Weg den du dir suchen konntest...
Warum nicht einfach den mehrfach erwähnten Vorschlag über QDesktopServices::openUrl() gehen? Das weiß auf jedem Rechner, welches Progamm für die Datei zuständig ist. Unter WIndows öffnet sich wahrscheinlich der Acrobat Reader. Willst du das Fenster in deiner App anzeigen und evtl. steuern kannst du dies über die ganzen QAX*-Klassen.
Es sollte ausreichend Doku geben wie du unter Windows + MinGW configure-Scripte aufrufst und Bibliotheken kompilierst.
Für Poppler denke ich solltest du evtl. mal CMake zum Bauen der Poppler-lib anschauen, Poppler verwendet das mittlerweile auch und das macht (in meinen Augen) deutlich weniger Stress als configure...
Und zu guter letzt:
Versuch bitte für den Anfang nicht zu viel. Wenn du überfordert bist mit bestimmten Sachen (spezielle Programmiertechniken, Umgebung mit zusätzlichen Bibliotheken, usw.) solltest du erstmal den Weg des geringsten Widerstandes gehen, damit du nicht an einem Problem hängenbelibst, dich verbeißt und dann die Lust verlierst weil einfach nichts vorwärts geht. Ein weiteres Problem ist, dass bereits zig Stunden Support in zwei Foren draufgegangen sind und trotzdem nichts wirklich bewegendes geschehen ist. Vorschläge wurden ignoriert (dicker Seitenhieb auf QDesktopServices!) usw.
Warum nicht einfach den mehrfach erwähnten Vorschlag über QDesktopServices::openUrl() gehen? Das weiß auf jedem Rechner, welches Progamm für die Datei zuständig ist. Unter WIndows öffnet sich wahrscheinlich der Acrobat Reader. Willst du das Fenster in deiner App anzeigen und evtl. steuern kannst du dies über die ganzen QAX*-Klassen.
Es sollte ausreichend Doku geben wie du unter Windows + MinGW configure-Scripte aufrufst und Bibliotheken kompilierst.
Für Poppler denke ich solltest du evtl. mal CMake zum Bauen der Poppler-lib anschauen, Poppler verwendet das mittlerweile auch und das macht (in meinen Augen) deutlich weniger Stress als configure...
Und zu guter letzt:
Versuch bitte für den Anfang nicht zu viel. Wenn du überfordert bist mit bestimmten Sachen (spezielle Programmiertechniken, Umgebung mit zusätzlichen Bibliotheken, usw.) solltest du erstmal den Weg des geringsten Widerstandes gehen, damit du nicht an einem Problem hängenbelibst, dich verbeißt und dann die Lust verlierst weil einfach nichts vorwärts geht. Ein weiteres Problem ist, dass bereits zig Stunden Support in zwei Foren draufgegangen sind und trotzdem nichts wirklich bewegendes geschehen ist. Vorschläge wurden ignoriert (dicker Seitenhieb auf QDesktopServices!) usw.
Ja ich habe schon Qt DesktopServices benutzt, er hat damit auch die Datei geöffnet.
Aber darum gehts mir im Moment ja gar nicht.
Ich wollte eben, dass mein Programm Pdf Files nach nem bestimmten Wort durchsucht, und falls es gefunden wurde, dann eventuell öffnet, bzw nur anzeigt wo es gefunden wurde.
Bin ja auch sehr dankbar über die ganze Hilfe=)
gruß freeG
Aber darum gehts mir im Moment ja gar nicht.
Ich wollte eben, dass mein Programm Pdf Files nach nem bestimmten Wort durchsucht, und falls es gefunden wurde, dann eventuell öffnet, bzw nur anzeigt wo es gefunden wurde.
Bin ja auch sehr dankbar über die ganze Hilfe=)
gruß freeG
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten: