Unsolved PDFhummus error: PDFWriter.h: No such file or directory. I need help to use PDFhummus with QT Creator
-
I need developer a tool from scratch for handler PDF files with PDF Hummus and QT create. I have build PDFHummus source code and add the PDFWriter.lib to my QT project througth: options -> add library -> external libraies but I have problems describd above. Can you help me?
-
@ronaldon share your .pro
-
@eyllanesc
This is my .pro:QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++11 # You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 SOURCES += \ main.cpp \ pdfwriter1steps.cpp HEADERS += \ pdfwriter1steps.h FORMS += \ pdfwriter1steps.ui # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target win32:CONFIG(release, debug|release): LIBS += -L$$PWD/./ -lPDFWriter else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/./ -lPDFWriter else:unix: LIBS += -L$$PWD/./ -lPDFWriter INCLUDEPATH += $$PWD/. DEPENDPATH += $$PWD/.
-
@ronaldon said in PDFhummus error: PDFWriter.h: No such file or directory. I need help to use PDFhummus with QT Creator:
pdfhummus error: PDFWriter.h: No such file or directory
The same error for the others resources: #include <PDFWriter.h>, #include <PDFPage.h>, #include <PDFWriter.h>, #include <PDFPageInput.h>
So where are these header files actually located, and what have you done about making your
INCLUDEPATH
include the directory so that the compiler can find them? I don't see anything in your.pro
for this? -
@JonB ,
I have build PDFHummus source code and add the PDFWriter.lib to my QT project througth: options -> add library -> external libraies. -
@ronaldon
That seems to have no answer for what I asked you about where the header files are and how you have told the compile process to find them on include path. Repeating that you have built PDFWriter does not advance you any further. -
@JonB
I think I understand now, I shouldn't use PDFWriter.lib, instead i should add to my project the PDF Hummus fonts. It is that true? -
@ronaldon
No. -
@ronaldon said in PDFhummus error: PDFWriter.h: No such file or directory. I need help to use PDFhummus with QT Creator:
@JonB
I think I understand now, I shouldn't use PDFWriter.lib, instead i should add to my project the PDF Hummus fonts. It is that true?Hi,
As @JonB requested: where is the header of that library located on your hard drive ?
That path is missing from your INCLUDEPATH variable.
-
@SGaist
The header PDFWriter.h is in "D:\WORKSPACE\PDFWriter\PDFWriter" and my project is in "C:\Users\Usuario\Documents\QTProjects\TestPDFhummus" -
This post is deleted! -
Build the library properly and use it rather than trying to do it by hand like you do.
-
@SGaist
How can i made that? In the begin i try compile and import the files .lib but not work for me. -
@SGaist
I receive this error now:C:\Users\Usuario\Documents\QTProjects\build-TestPDFhummus-Desktop_Qt_5_15_2_MinGW_64_bit-Debug..\TestPDFhummus\main.cpp:16: error: undefined reference to
PDFWriter::PDFWriter()' debug/main.o: In function
qMain(int, char**)':
C:\Users\Usuario\Documents\QTProjects\build-TestPDFhummus-Desktop_Qt_5_15_2_MinGW_64_bit-Debug/../TestPDFhummus/main.cpp:16: undefined reference to `PDFWriter::PDFWriter()'Now, my .pro is:
QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++11 # You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 SOURCES += \ main.cpp \ testpdfhummus.cpp HEADERS += \ testpdfhummus.h FORMS += \ testpdfhummus.ui unix:!macx: LIBS += -L$$PWD/./pdf_hummus/Build/PDFWriter/ -lPDFWriter INCLUDEPATH += $$PWD/./pdf_hummus/PDFWriter DEPENDPATH += $$PWD/./pdf_hummus/PDFWriter unix:!macx: PRE_TARGETDEPS += $$PWD/./pdf_hummus/Build/PDFWriter/libPDFWriter.a unix:!macx: LIBS += -L$$PWD/./pdf_hummus/Build/FreeType/ -lFreeType INCLUDEPATH += $$PWD/./pdf_hummus/FreeType/include DEPENDPATH += $$PWD/./pdf_hummus/FreeType/include unix:!macx: PRE_TARGETDEPS += $$PWD/./pdf_hummus/Build/FreeType/libFreeType.a unix:!macx: LIBS += -L$$PWD/./pdf_hummus/Build/LibJpeg/ -lLibJpeg INCLUDEPATH += $$PWD/./pdf_hummus/LibJpeg DEPENDPATH += $$PWD/./pdf_hummus/LibJpeg unix:!macx: PRE_TARGETDEPS += $$PWD/./pdf_hummus/Build/LibJpeg/libLibJpeg.a unix:!macx: LIBS += -L$$PWD/./pdf_hummus/Build/LibTiff/ -lLibTiff INCLUDEPATH += $$PWD/./pdf_hummus/LibTiff DEPENDPATH += $$PWD/./pdf_hummus/LibTiff unix:!macx: PRE_TARGETDEPS += $$PWD/./pdf_hummus/Build/LibTiff/libLibTiff.a unix:!macx: LIBS += -L$$PWD/./pdf_hummus/Build/ZLib/ -lZlib INCLUDEPATH += $$PWD/./pdf_hummus/ZLib DEPENDPATH += $$PWD/./pdf_hummus/ZLib unix:!macx: PRE_TARGETDEPS += $$PWD/./pdf_hummus/Build/ZLib/libZlib.a # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target DISTFILES += \
-
-
Please when pasting globs of code/
.pro
file like this learn to use the forum's Code tag to enclose the literal stuff and make it readable by others. -
In the text you show, which line are you claiming is the one your MinGW will use to add the necessary options for linking with your
PDFWriter
library? (You might also look at the link line generated which causes the error you quote.)
-
-
@JonB
I'm sorry for the missing code tag, i made the correction. I don't know what MinGW will use. I started my first QT project theses days, i just need learn how configure the external library for develop my routine. -
@ronaldon
It's much better with the code tag! :)I'm afarid this is not my area so you'll have to wait for someone else to comment, but: I do not think you are linking against the
PDFWriter
library.unix:!macx: LIBS += -L$$PWD/./pdf_hummus/Build/PDFWriter/ -lPDFWriter
I think you need that line, or similar, for your MinGW. And I assume that line is only applied if you are compiling for
unix
(and notmacx
), whereas as you are Windows. -
This post is deleted! -
@JonB
My .pro now:QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++11 # You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 SOURCES += \ main.cpp \ testpdfhummus.cpp HEADERS += \ testpdfhummus.h FORMS += \ testpdfhummus.ui # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target #win32:CONFIG(release, debug|release): LIBS += -L$$PWD/pdf_hummus/PDFWriter/release/ -lPDFWriter #else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/pdf_hummus/PDFWriter/debug/ -lPDFWriter #INCLUDEPATH += $$PWD/pdf_hummus/PDFWriter #DEPENDPATH += $$PWD/pdf_hummus/PDFWriter #win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/pdf_hummus/PDFWriter/release/libPDFWriter.a #else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/pdf_hummus/PDFWriter/debug/libPDFWriter.a #else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/pdf_hummus/PDFWriter/release/PDFWriter.lib #else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/pdf_hummus/PDFWriter/debug/PDFWriter.lib win32:CONFIG(release, debug|release): LIBS += -L$$PWD/pdf_hummus/PDFWriter/release/ -lPDFWriter else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/pdf_hummus/PDFWriter/debug/ -lPDFWriter else:macx: LIBS += -L$$PWD/pdf_hummus/PDFWriter/ -lPDFWriter INCLUDEPATH += $$PWD/pdf_hummus/PDFWriter DEPENDPATH += $$PWD/pdf_hummus/PDFWriter win32:CONFIG(release, debug|release): LIBS += -L$$PWD/pdf_hummus/FreeType/release/ -lFreeType else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/pdf_hummus/FreeType/debug/ -lFreeType else:macx: LIBS += -L$$PWD/pdf_hummus/FreeType/ -lFreeType INCLUDEPATH += $$PWD/pdf_hummus/FreeType/Release DEPENDPATH += $$PWD/pdf_hummus/FreeType/Release win32:CONFIG(release, debug|release): LIBS += -L$$PWD/pdf_hummus/LibJpeg/release/ -lLibJpeg else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/pdf_hummus/LibJpeg/debug/ -lLibJpeg else:macx: LIBS += -L$$PWD/pdf_hummus/LibJpeg/ -lLibJpeg INCLUDEPATH += $$PWD/pdf_hummus/LibJpeg/Release DEPENDPATH += $$PWD/pdf_hummus/LibJpeg/Release win32:CONFIG(release, debug|release): LIBS += -L$$PWD/pdf_hummus/LibTiff/release/ -lLibTiff else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/pdf_hummus/LibTiff/debug/ -lLibTiff else:macx: LIBS += -L$$PWD/pdf_hummus/LibTiff/ -lLibTiff INCLUDEPATH += $$PWD/pdf_hummus/LibTiff/Release DEPENDPATH += $$PWD/pdf_hummus/LibTiff/Release win32:CONFIG(release, debug|release): LIBS += -L$$PWD/pdf_hummus/ZLib/release/ -lZlib else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/pdf_hummus/ZLib/debug/ -lZlib else:macx: LIBS += -L$$PWD/pdf_hummus/ZLib/ -lZlib INCLUDEPATH += $$PWD/pdf_hummus/ZLib/Release DEPENDPATH += $$PWD/pdf_hummus/ZLib/Release
And the image of error:
-
@ronaldon
I would start by looking at the actual linker command line being executed during the build. All you show is the errors, without showing the command line.