diff --git a/CodeGenerator/CodeGenerator.pro b/CodeGenerator/CodeGenerator.pro
index 21f91e6..e126d81 100644
--- a/CodeGenerator/CodeGenerator.pro
+++ b/CodeGenerator/CodeGenerator.pro
@@ -17,8 +17,6 @@
QT += core gui xml widgets
-CONFIG += c++11
-
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
@@ -30,7 +28,7 @@ DEFINES += QT_DEPRECATED_WARNINGS
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
+include(../Pdf4Qt.pri)
DESTDIR = $$OUT_PWD/..
diff --git a/JBIG2_Viewer/JBIG2_Viewer.pro b/JBIG2_Viewer/JBIG2_Viewer.pro
index fcaa889..cb58567 100644
--- a/JBIG2_Viewer/JBIG2_Viewer.pro
+++ b/JBIG2_Viewer/JBIG2_Viewer.pro
@@ -2,8 +2,6 @@ QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
-CONFIG += c++11
-
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
@@ -15,7 +13,7 @@ DEFINES += QT_DEPRECATED_WARNINGS
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
+include(../Pdf4Qt.pri)
INCLUDEPATH += $$PWD/../PDF4QtLib/Sources
diff --git a/Pdf4Qt.pri b/Pdf4Qt.pri
new file mode 100644
index 0000000..7598c49
--- /dev/null
+++ b/Pdf4Qt.pri
@@ -0,0 +1,34 @@
+# Copyright (C) 2018-2022 Jakub Melka
+#
+# This file is part of PDF4QT.
+#
+# PDF4QT is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# with the written consent of the copyright owner, any later version.
+#
+# PDF4QT is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PDF4QT. If not, see .
+
+win32-msvc*: {
+ QMAKE_CXXFLAGS += /std:c++latest /utf-8 /bigobj
+}
+
+win32-*g++|unix: {
+ CONFIG += link_pkgconfig
+ QMAKE_CXXFLAGS += -std=c++20
+ win32: {
+ QMAKE_CXXFLAGS += -Wa,-mbig-obj
+ }
+}
+
+win32 {
+ CONFIG += skip_target_version_ext
+} else {
+ CONFIG += unversioned_libname
+}
diff --git a/Pdf4QtDocDiff/Pdf4QtDocDiff.pro b/Pdf4QtDocDiff/Pdf4QtDocDiff.pro
index c85d6c3..16e64ac 100644
--- a/Pdf4QtDocDiff/Pdf4QtDocDiff.pro
+++ b/Pdf4QtDocDiff/Pdf4QtDocDiff.pro
@@ -20,6 +20,8 @@ QT += core gui widgets winextras
TARGET = Pdf4QtDocDiff
TEMPLATE = app
+include(../Pdf4Qt.pri)
+
VERSION = 1.1.0
RC_ICONS = $$PWD/app-icon.ico
@@ -28,7 +30,6 @@ QMAKE_TARGET_DESCRIPTION = "PDF Document Diff"
QMAKE_TARGET_COPYRIGHT = "(c) Jakub Melka 2018-2021"
DEFINES += QT_DEPRECATED_WARNINGS
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
INCLUDEPATH += $$PWD/../PDF4QtLib/Sources
DESTDIR = $$OUT_PWD/..
diff --git a/Pdf4QtDocPageOrganizer/Pdf4QtDocPageOrganizer.pro b/Pdf4QtDocPageOrganizer/Pdf4QtDocPageOrganizer.pro
index c3acf4b..bc717e1 100644
--- a/Pdf4QtDocPageOrganizer/Pdf4QtDocPageOrganizer.pro
+++ b/Pdf4QtDocPageOrganizer/Pdf4QtDocPageOrganizer.pro
@@ -20,6 +20,8 @@ QT += core gui widgets winextras
TARGET = Pdf4QtDocPageOrganizer
TEMPLATE = app
+include(../Pdf4Qt.pri)
+
VERSION = 1.1.0
RC_ICONS = $$PWD/app-icon.ico
@@ -28,7 +30,6 @@ QMAKE_TARGET_DESCRIPTION = "PDF Document Page Organizer"
QMAKE_TARGET_COPYRIGHT = "(c) Jakub Melka 2018-2021"
DEFINES += QT_DEPRECATED_WARNINGS
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
INCLUDEPATH += $$PWD/../PDF4QtLib/Sources
DESTDIR = $$OUT_PWD/..
diff --git a/Pdf4QtDocPageOrganizer/pageitemmodel.cpp b/Pdf4QtDocPageOrganizer/pageitemmodel.cpp
index c666e63..55e0a89 100644
--- a/Pdf4QtDocPageOrganizer/pageitemmodel.cpp
+++ b/Pdf4QtDocPageOrganizer/pageitemmodel.cpp
@@ -1075,7 +1075,7 @@ bool PageItemModel::dropMimeData(const QMimeData* data, Qt::DropAction action, i
rows.push_back(row);
}
- qSort(rows);
+ std::sort(rows.begin(), rows.end());
// Sanity checks on rows
if (rows.empty())
diff --git a/Pdf4QtLib/Pdf4QtLib.pro b/Pdf4QtLib/Pdf4QtLib.pro
index 3ebfe48..7df0cd0 100644
--- a/Pdf4QtLib/Pdf4QtLib.pro
+++ b/Pdf4QtLib/Pdf4QtLib.pro
@@ -20,7 +20,8 @@ QT += gui widgets xml
TARGET = Pdf4QtLib
TEMPLATE = lib
-win32:TARGET_EXT = .dll
+include(../Pdf4Qt.pri)
+
VERSION = 1.1.0
QMAKE_TARGET_DESCRIPTION = "PDF rendering / editing library for Qt"
@@ -205,46 +206,56 @@ CONFIG(debug, debug|release) {
SUFFIX = d
}
-# Link to freetype library
-LIBS += -L$$Pdf4Qt_DEPENDENCIES_PATH/FreeType/ -lfreetype$${SUFFIX}
-INCLUDEPATH += $$Pdf4Qt_DEPENDENCIES_PATH/FreeType/include
-DEPENDPATH += $$Pdf4Qt_DEPENDENCIES_PATH/FreeType/include
+win32-msvc*: {
+ # Link to freetype library
+ LIBS += -L$$Pdf4Qt_DEPENDENCIES_PATH/FreeType/ -lfreetype$${SUFFIX}
+ INCLUDEPATH += $$Pdf4Qt_DEPENDENCIES_PATH/FreeType/include
+ DEPENDPATH += $$Pdf4Qt_DEPENDENCIES_PATH/FreeType/include
-# Link to OpenJPEG library
-LIBS += -L$$Pdf4Qt_DEPENDENCIES_PATH/OpenJPEG/lib/ -lopenjp2$${SUFFIX}
-INCLUDEPATH += $$Pdf4Qt_DEPENDENCIES_PATH/OpenJPEG/include/openjpeg-2.3
-DEPENDPATH += $$Pdf4Qt_DEPENDENCIES_PATH/OpenJPEG/include/openjpeg-2.3
-DEFINES += OPJ_STATIC
+ # Link to OpenJPEG library
+ LIBS += -L$$Pdf4Qt_DEPENDENCIES_PATH/OpenJPEG/lib/ -lopenjp2$${SUFFIX}
+ INCLUDEPATH += $$Pdf4Qt_DEPENDENCIES_PATH/OpenJPEG/include/openjpeg-2.3
+ DEPENDPATH += $$Pdf4Qt_DEPENDENCIES_PATH/OpenJPEG/include/openjpeg-2.3
+ DEFINES += OPJ_STATIC
-# Link to Independent JPEG Groups libjpeg
-LIBS += -L$$Pdf4Qt_DEPENDENCIES_PATH/libjpeg/bin/ -ljpeg$${SUFFIX}
-INCLUDEPATH += $$Pdf4Qt_DEPENDENCIES_PATH/libjpeg/include
-DEPENDPATH += $$Pdf4Qt_DEPENDENCIES_PATH/libjpeg/include
+ # Link to Independent JPEG Groups libjpeg
+ LIBS += -L$$Pdf4Qt_DEPENDENCIES_PATH/libjpeg/bin/ -ljpeg$${SUFFIX}
+ INCLUDEPATH += $$Pdf4Qt_DEPENDENCIES_PATH/libjpeg/include
+ DEPENDPATH += $$Pdf4Qt_DEPENDENCIES_PATH/libjpeg/include
-# Link OpenSSL
-LIBS += -L$$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/bin -L$$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/lib -llibcrypto -llibssl
-INCLUDEPATH += $$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/include
-DEPENDPATH += $$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/include
+ # Link OpenSSL
+ LIBS += -L$$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/bin -L$$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/lib -llibcrypto -llibssl
+ INCLUDEPATH += $$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/include
+ DEPENDPATH += $$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/include
-# Add OpenSSL to installations
-openssl_lib.files = $$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/bin/libcrypto-1_1-x64.dll $$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/bin/libssl-1_1-x64.dll
-openssl_lib.path = $$DESTDIR/install
-INSTALLS += openssl_lib
+ # Add OpenSSL to installations
+ openssl_lib.files = $$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/bin/libcrypto-1_1-x64.dll $$Pdf4Qt_OPENSSL_PATH/OpenSSL/Win_x64/bin/libssl-1_1-x64.dll
+ openssl_lib.path = $$DESTDIR/install
+ INSTALLS += openssl_lib
-# Link zlib
-LIBS += -L$$Pdf4Qt_DEPENDENCIES_PATH/zlib/bin/ -lzlibstatic$${SUFFIX}
-INCLUDEPATH += $$Pdf4Qt_DEPENDENCIES_PATH/zlib/include
-DEPENDPATH += $$Pdf4Qt_DEPENDENCIES_PATH/zlib/include
+ # Link zlib
+ LIBS += -L$$Pdf4Qt_DEPENDENCIES_PATH/zlib/bin/ -lzlibstatic$${SUFFIX}
+ INCLUDEPATH += $$Pdf4Qt_DEPENDENCIES_PATH/zlib/include
+ DEPENDPATH += $$Pdf4Qt_DEPENDENCIES_PATH/zlib/include
-# Link lcms2
-LIBS += -L$$Pdf4Qt_DEPENDENCIES_PATH/lcms2/bin$${SUFFIX}/ -llcms2_static
-INCLUDEPATH += $$Pdf4Qt_DEPENDENCIES_PATH/lcms2/include
-DEPENDPATH += $$Pdf4Qt_DEPENDENCIES_PATH/lcms2/include
+ # Link lcms2
+ LIBS += -L$$Pdf4Qt_DEPENDENCIES_PATH/lcms2/bin$${SUFFIX}/ -llcms2_static
+ INCLUDEPATH += $$Pdf4Qt_DEPENDENCIES_PATH/lcms2/include
+ DEPENDPATH += $$Pdf4Qt_DEPENDENCIES_PATH/lcms2/include
+}
+
+win32-*g++|unix: {
+ PKGCONFIG += freetype2 libopenjp2 libjpeg lcms2 libssl libcrypto zlib
+ LIBS += -ltbb
+ win32: {
+ LIBS += -lmscms -lcrypt32 -lsecur32
+ }
+}
# ensure debug info even for RELEASE build
CONFIG += force_debug_info
-QMAKE_CXXFLAGS += /std:c++latest /utf-8 /bigobj
+
QMAKE_RESOURCE_FLAGS += -threshold 0 -compress 9
PdfforQt_library.files = $$DESTDIR/Pdf4QtLib.dll
diff --git a/Pdf4QtLib/sources/pdfannotation.cpp b/Pdf4QtLib/sources/pdfannotation.cpp
index 40e43d8..07459be 100644
--- a/Pdf4QtLib/sources/pdfannotation.cpp
+++ b/Pdf4QtLib/sources/pdfannotation.cpp
@@ -1415,7 +1415,7 @@ void PDFAnnotationManager::drawAnnotation(const PageAnnotation& annotation,
{
errors.push_back(PDFRenderError(RenderErrorType::Error, exception.getMessage()));
}
- catch (PDFRendererException exception)
+ catch (const PDFRendererException &exception)
{
errors.push_back(exception.getError());
}
diff --git a/Pdf4QtLib/sources/pdfcolorspaces.cpp b/Pdf4QtLib/sources/pdfcolorspaces.cpp
index 8059842..7a08e08 100644
--- a/Pdf4QtLib/sources/pdfcolorspaces.cpp
+++ b/Pdf4QtLib/sources/pdfcolorspaces.cpp
@@ -293,7 +293,7 @@ QImage PDFAbstractColorSpace::getImage(const PDFImageData& imageData,
fillRGBBuffer(inputColors, outputLine, intent, cms, reporter);
}
- catch (PDFException lineException)
+ catch (const PDFException &lineException)
{
QMutexLocker lock(&exceptionMutex);
if (!exception)
@@ -396,7 +396,7 @@ QImage PDFAbstractColorSpace::getImage(const PDFImageData& imageData,
*outputLine++ = *alphaLine++;
}
}
- catch (PDFException lineException)
+ catch (const PDFException &lineException)
{
QMutexLocker lock(&exceptionMutex);
if (!exception)
diff --git a/Pdf4QtLib/sources/pdfdocumentreader.cpp b/Pdf4QtLib/sources/pdfdocumentreader.cpp
index 7caef45..85fbfee 100644
--- a/Pdf4QtLib/sources/pdfdocumentreader.cpp
+++ b/Pdf4QtLib/sources/pdfdocumentreader.cpp
@@ -585,7 +585,7 @@ PDFDocument PDFDocumentReader::readFromBuffer(const QByteArray& buffer)
PDFObjectStorage storage(std::move(objects), PDFObject(xrefTable.getTrailerDictionary()), qMove(m_securityHandler));
return PDFDocument(std::move(storage), m_version);
}
- catch (PDFException parserException)
+ catch (const PDFException &parserException)
{
m_result = Result::Failed;
m_errorMessage = parserException.getMessage();
@@ -770,7 +770,7 @@ PDFDocument PDFDocumentReader::readDamagedDocumentFromBuffer(const QByteArray& b
PDFObjectStorage storage(std::move(objects), PDFObject(trailerDictionaryObject), qMove(m_securityHandler));
return PDFDocument(std::move(storage), m_version);
}
- catch (PDFException parserException)
+ catch (const PDFException &parserException)
{
m_result = Result::Failed;
m_warnings << parserException.getMessage();
diff --git a/Pdf4QtLib/sources/pdfdocumenttextflow.cpp b/Pdf4QtLib/sources/pdfdocumenttextflow.cpp
index 4a35f54..69257ae 100644
--- a/Pdf4QtLib/sources/pdfdocumenttextflow.cpp
+++ b/Pdf4QtLib/sources/pdfdocumenttextflow.cpp
@@ -548,9 +548,9 @@ private:
void PDFStructureTreeTextFlowCollector::visitStructureTree(const PDFStructureTree* structureTree)
{
- m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, QString(), PDFDocumentTextFlow::StructureItemStart});
+ m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, QString(), PDFDocumentTextFlow::StructureItemStart, {} });
acceptChildren(structureTree);
- m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, QString(), PDFDocumentTextFlow::StructureItemEnd});
+ m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, QString(), PDFDocumentTextFlow::StructureItemEnd, {} });
}
void PDFStructureTreeTextFlowCollector::markHasContent()
@@ -564,7 +564,7 @@ void PDFStructureTreeTextFlowCollector::markHasContent()
void PDFStructureTreeTextFlowCollector::visitStructureElement(const PDFStructureElement* structureElement)
{
size_t index = m_items->size();
- m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, QString(), PDFDocumentTextFlow::StructureItemStart});
+ m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, QString(), PDFDocumentTextFlow::StructureItemStart, {} });
// Mark stack so we can delete unused items
m_hasContentStack.push_back(false);
@@ -579,37 +579,37 @@ void PDFStructureTreeTextFlowCollector::visitStructureElement(const PDFStructure
if (!title.isEmpty())
{
markHasContent();
- m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, QString(), PDFDocumentTextFlow::StructureTitle});
+ m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, QString(), PDFDocumentTextFlow::StructureTitle, {} });
}
if (!language.isEmpty())
{
markHasContent();
- m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, language, PDFDocumentTextFlow::StructureLanguage });
+ m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, language, PDFDocumentTextFlow::StructureLanguage, {} });
}
if (!alternativeDescription.isEmpty())
{
markHasContent();
- m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, alternativeDescription, PDFDocumentTextFlow::StructureAlternativeDescription });
+ m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, alternativeDescription, PDFDocumentTextFlow::StructureAlternativeDescription, {} });
}
if (!expandedForm.isEmpty())
{
markHasContent();
- m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, expandedForm, PDFDocumentTextFlow::StructureExpandedForm });
+ m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, expandedForm, PDFDocumentTextFlow::StructureExpandedForm, {} });
}
if (!actualText.isEmpty())
{
markHasContent();
- m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, actualText, PDFDocumentTextFlow::StructureActualText });
+ m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, actualText, PDFDocumentTextFlow::StructureActualText, {} });
}
if (!phoneme.isEmpty())
{
markHasContent();
- m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, phoneme, PDFDocumentTextFlow::StructurePhoneme });
+ m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, phoneme, PDFDocumentTextFlow::StructurePhoneme, {} });
}
for (const auto& textItem : m_extractor->getText(structureElement))
@@ -623,7 +623,7 @@ void PDFStructureTreeTextFlowCollector::visitStructureElement(const PDFStructure
const bool hasContent = m_hasContentStack.back();
m_hasContentStack.pop_back();
- m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, QString(), PDFDocumentTextFlow::StructureItemEnd });
+ m_items->push_back(PDFDocumentTextFlow::Item{ QRectF(), -1, QString(), PDFDocumentTextFlow::StructureItemEnd, {} });
if (!hasContent)
{
@@ -702,12 +702,12 @@ PDFDocumentTextFlow PDFDocumentTextFlowFactory::create(const PDFDocument* docume
PDFTextFlows textFlows = PDFTextFlow::createTextFlows(textLayout, PDFTextFlow::FlowFlags(PDFTextFlow::SeparateBlocks) | PDFTextFlow::RemoveSoftHyphen, pageIndex);
PDFDocumentTextFlow::Items flowItems;
- flowItems.emplace_back(PDFDocumentTextFlow::Item{ QRectF(), pageIndex, PDFTranslationContext::tr("Page %1").arg(pageIndex + 1), PDFDocumentTextFlow::PageStart });
+ flowItems.emplace_back(PDFDocumentTextFlow::Item{ QRectF(), pageIndex, PDFTranslationContext::tr("Page %1").arg(pageIndex + 1), PDFDocumentTextFlow::PageStart, {} });
for (const PDFTextFlow& textFlow : textFlows)
{
flowItems.emplace_back(PDFDocumentTextFlow::Item{ textFlow.getBoundingBox(), pageIndex, textFlow.getText(), PDFDocumentTextFlow::Text, textFlow.getBoundingBoxes() });
}
- flowItems.emplace_back(PDFDocumentTextFlow::Item{ QRectF(), pageIndex, QString(), PDFDocumentTextFlow::PageEnd });
+ flowItems.emplace_back(PDFDocumentTextFlow::Item{ QRectF(), pageIndex, QString(), PDFDocumentTextFlow::PageEnd, {} });
QMutexLocker lock(&mutex);
items[pageIndex] = qMove(flowItems);
@@ -760,7 +760,7 @@ PDFDocumentTextFlow PDFDocumentTextFlowFactory::create(const PDFDocument* docume
PDFDocumentTextFlow::Items flowItems;
for (PDFInteger pageIndex : pageIndices)
{
- flowItems.emplace_back(PDFDocumentTextFlow::Item{ QRectF(), pageIndex, PDFTranslationContext::tr("Page %1").arg(pageIndex + 1), PDFDocumentTextFlow::PageStart });
+ flowItems.emplace_back(PDFDocumentTextFlow::Item{ QRectF(), pageIndex, PDFTranslationContext::tr("Page %1").arg(pageIndex + 1), PDFDocumentTextFlow::PageStart, {} });
for (const PDFStructureTreeTextItem& sequenceItem : extractor.getTextSequence(pageIndex))
{
if (sequenceItem.type == PDFStructureTreeTextItem::Type::Text)
@@ -768,7 +768,7 @@ PDFDocumentTextFlow PDFDocumentTextFlowFactory::create(const PDFDocument* docume
flowItems.emplace_back(PDFDocumentTextFlow::Item{ sequenceItem.boundingRect, pageIndex, sequenceItem.text, PDFDocumentTextFlow::Text, sequenceItem.characterBoundingRects });
}
}
- flowItems.emplace_back(PDFDocumentTextFlow::Item{ QRectF(), pageIndex, QString(), PDFDocumentTextFlow::PageEnd });
+ flowItems.emplace_back(PDFDocumentTextFlow::Item{ QRectF(), pageIndex, QString(), PDFDocumentTextFlow::PageEnd, {} });
}
result = PDFDocumentTextFlow(qMove(flowItems));
diff --git a/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp b/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp
index facf4de..779f7fb 100644
--- a/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp
+++ b/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp
@@ -707,7 +707,7 @@ void PDFPageContentProcessor::processContent(const QByteArray& content)
m_operands.clear();
m_errorList.append(PDFRenderError(RenderErrorType::Error, exception.getMessage()));
}
- catch (PDFRendererException exception)
+ catch (const PDFRendererException &exception)
{
m_operands.clear();
m_errorList.append(exception.getError());
@@ -3401,7 +3401,7 @@ bool PDFPageContentProcessor::isContentSuppressedByOC(PDFObjectReference ocgOrOc
{
ocmd = PDFOptionalContentMembershipObject::create(m_document, PDFObject::createReference(ocgOrOcmd));
}
- catch (PDFException e)
+ catch (const PDFException &e)
{
m_errorList.push_back(PDFRenderError(RenderErrorType::Error, e.getMessage()));
}
diff --git a/Pdf4QtLib/sources/pdfpagecontentprocessor.h b/Pdf4QtLib/sources/pdfpagecontentprocessor.h
index b341664..135c027 100644
--- a/Pdf4QtLib/sources/pdfpagecontentprocessor.h
+++ b/Pdf4QtLib/sources/pdfpagecontentprocessor.h
@@ -700,7 +700,7 @@ protected:
/// Returns optional content activity
const PDFOptionalContentActivity* getOptionalContentActivity() const { return m_optionalContentActivity; }
- class PDFTransparencyGroupGuard
+ class PDF4QTLIBSHARED_EXPORT PDFTransparencyGroupGuard
{
public:
explicit PDFTransparencyGroupGuard(PDFPageContentProcessor* processor, PDFTransparencyGroup&& group);
diff --git a/Pdf4QtLib/sources/pdfutils.cpp b/Pdf4QtLib/sources/pdfutils.cpp
index 1f5a7e3..c4b688b 100644
--- a/Pdf4QtLib/sources/pdfutils.cpp
+++ b/Pdf4QtLib/sources/pdfutils.cpp
@@ -246,7 +246,7 @@ std::vector PDFDependentLibraryInfo::getLibraryInfo()
libjpegInfo.library = tr("libjpeg");
libjpegInfo.license = tr("permissive + ack.");
libjpegInfo.url = tr("https://www.ijg.org/");
-#if defined(Q_OS_UNIX)
+#if defined(Q_OS_UNIX) || defined(__MINGW32__)
libjpegInfo.version = tr("%1").arg(JPEG_LIB_VERSION);
#else
libjpegInfo.version = tr("%1.%2").arg(JPEG_LIB_VERSION_MAJOR).arg(JPEG_LIB_VERSION_MINOR);
diff --git a/Pdf4QtViewer/Pdf4QtViewer.pro b/Pdf4QtViewer/Pdf4QtViewer.pro
index e437102..8f587e9 100644
--- a/Pdf4QtViewer/Pdf4QtViewer.pro
+++ b/Pdf4QtViewer/Pdf4QtViewer.pro
@@ -20,7 +20,8 @@ QT += core gui widgets winextras printsupport texttospeech network xml
TARGET = Pdf4QtViewer
TEMPLATE = lib
-win32:TARGET_EXT = .dll
+include(../Pdf4Qt.pri)
+
VERSION = 1.1.0
DEFINES += PDF4QTVIEWER_LIBRARY
@@ -30,7 +31,9 @@ QMAKE_TARGET_COPYRIGHT = "(c) Jakub Melka 2018-2021"
DEFINES += QT_DEPRECATED_WARNINGS
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
+win32-*g++|unix: {
+ LIBS += -ltbb
+}
INCLUDEPATH += $$PWD/../PDF4QtLib/Sources
DESTDIR = $$OUT_PWD/..
diff --git a/Pdf4QtViewer/pdfdocumentpropertiesdialog.cpp b/Pdf4QtViewer/pdfdocumentpropertiesdialog.cpp
index c662005..1b1a8b5 100644
--- a/Pdf4QtViewer/pdfdocumentpropertiesdialog.cpp
+++ b/Pdf4QtViewer/pdfdocumentpropertiesdialog.cpp
@@ -361,7 +361,7 @@ void PDFDocumentPropertiesDialog::initializeFonts(const pdf::PDFDocument* docume
}
}
}
- catch (pdf::PDFException)
+ catch (const pdf::PDFException &)
{
// Do nothing, some error occured, continue with next font
continue;
@@ -370,7 +370,7 @@ void PDFDocumentPropertiesDialog::initializeFonts(const pdf::PDFDocument* docume
}
}
}
- catch (pdf::PDFException)
+ catch (const pdf::PDFException &)
{
// Do nothing, some error occured
}
diff --git a/Pdf4QtViewer/pdfprogramcontroller.cpp b/Pdf4QtViewer/pdfprogramcontroller.cpp
index 74076e5..bd80fc6 100644
--- a/Pdf4QtViewer/pdfprogramcontroller.cpp
+++ b/Pdf4QtViewer/pdfprogramcontroller.cpp
@@ -318,8 +318,8 @@ PDFProgramController::PDFProgramController(QObject* parent) :
m_undoRedoManager(nullptr),
m_recentFileManager(new PDFRecentFileManager(this)),
m_optionalContentActivity(nullptr),
- m_futureWatcher(nullptr),
m_textToSpeech(nullptr),
+ m_futureWatcher(nullptr),
m_CMSManager(new pdf::PDFCMSManager(this)),
m_toolManager(nullptr),
m_annotationManager(nullptr),
diff --git a/Pdf4QtViewer/pdfsidebarwidget.cpp b/Pdf4QtViewer/pdfsidebarwidget.cpp
index 9f8105e..b08601e 100644
--- a/Pdf4QtViewer/pdfsidebarwidget.cpp
+++ b/Pdf4QtViewer/pdfsidebarwidget.cpp
@@ -663,7 +663,7 @@ void PDFSidebarWidget::onAttachmentCustomContextMenuRequested(const QPoint& pos)
QMessageBox::critical(this, tr("Error"), tr("Failed to save attachment to file. %1").arg(file.errorString()));
}
}
- catch (pdf::PDFException e)
+ catch (const pdf::PDFException &e)
{
QMessageBox::critical(this, tr("Error"), tr("Failed to save attachment to file. %1").arg(e.getMessage()));
}
diff --git a/Pdf4QtViewer/pdfviewersettings.cpp b/Pdf4QtViewer/pdfviewersettings.cpp
index da468cb..2ad124b 100644
--- a/Pdf4QtViewer/pdfviewersettings.cpp
+++ b/Pdf4QtViewer/pdfviewersettings.cpp
@@ -263,11 +263,11 @@ PDFViewerSettings::Settings::Settings() :
m_allowLaunchApplications(true),
m_allowLaunchURI(true),
m_allowDeveloperMode(false),
+ m_multithreadingStrategy(pdf::PDFExecutionPolicy::Strategy::AlwaysMultithreaded),
m_compiledPageCacheLimit(128 * 1024),
m_thumbnailsCacheLimit(PIXMAP_CACHE_LIMIT),
m_fontCacheLimit(pdf::DEFAULT_FONT_CACHE_LIMIT),
m_instancedFontCacheLimit(pdf::DEFAULT_REALIZED_FONT_CACHE_LIMIT),
- m_multithreadingStrategy(pdf::PDFExecutionPolicy::Strategy::AlwaysMultithreaded),
m_speechRate(0.0),
m_speechPitch(0.0),
m_speechVolume(1.0),
diff --git a/Pdf4QtViewer/pdfviewersettingsdialog.cpp b/Pdf4QtViewer/pdfviewersettingsdialog.cpp
index e533aca..dd7d7d0 100644
--- a/Pdf4QtViewer/pdfviewersettingsdialog.cpp
+++ b/Pdf4QtViewer/pdfviewersettingsdialog.cpp
@@ -69,9 +69,9 @@ PDFViewerSettingsDialog::PDFViewerSettingsDialog(const PDFViewerSettings::Settin
m_settings(settings),
m_cmsSettings(cmsSettings),
m_otherSettings(otherSettings),
- m_certificateStore(certificateStore),
m_actions(),
m_isLoadingData(false),
+ m_certificateStore(certificateStore),
m_enabledPlugins(enabledPlugins),
m_plugins(plugins),
m_networkAccessManager(nullptr),
diff --git a/Pdf4QtViewerLite/Pdf4QtViewerLite.pro b/Pdf4QtViewerLite/Pdf4QtViewerLite.pro
index 38be788..e820cb3 100644
--- a/Pdf4QtViewerLite/Pdf4QtViewerLite.pro
+++ b/Pdf4QtViewerLite/Pdf4QtViewerLite.pro
@@ -20,6 +20,8 @@ QT += core gui widgets winextras
TARGET = Pdf4QtViewerLite
TEMPLATE = app
+include(../Pdf4Qt.pri)
+
VERSION = 1.1.0
RC_ICONS = $$PWD/app-icon.ico
@@ -28,7 +30,10 @@ QMAKE_TARGET_DESCRIPTION = "PDF viewer for Qt, Lite version"
QMAKE_TARGET_COPYRIGHT = "(c) Jakub Melka 2018-2021"
DEFINES += QT_DEPRECATED_WARNINGS
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
+
+win32-*g++|unix: {
+ LIBS += -ltbb
+}
INCLUDEPATH += $$PWD/../PDF4QtLib/Sources $$PWD/../PDF4QtViewer
DESTDIR = $$OUT_PWD/..
diff --git a/Pdf4QtViewerPlugins/AudioBookPlugin/AudioBookPlugin.pro b/Pdf4QtViewerPlugins/AudioBookPlugin/AudioBookPlugin.pro
index f622d42..23ad2b2 100644
--- a/Pdf4QtViewerPlugins/AudioBookPlugin/AudioBookPlugin.pro
+++ b/Pdf4QtViewerPlugins/AudioBookPlugin/AudioBookPlugin.pro
@@ -20,18 +20,20 @@ DEFINES += AUDIOBOOKPLUGIN_LIBRARY
QT += gui widgets
+include(../../Pdf4Qt.pri)
+
LIBS += -L$$OUT_PWD/../..
LIBS += -lPdf4QtLib
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
+win32-*g++: {
+ LIBS += -lole32 -lsapi
+}
INCLUDEPATH += $$PWD/../../Pdf4QtLib/Sources
DESTDIR = $$OUT_PWD/../../pdfplugins
-CONFIG += c++11
-
SOURCES += \
audiobookcreator.cpp \
audiobookplugin.cpp \
diff --git a/Pdf4QtViewerPlugins/AudioBookPlugin/audiobookcreator.cpp b/Pdf4QtViewerPlugins/AudioBookPlugin/audiobookcreator.cpp
index bf37d2e..d7210f7 100644
--- a/Pdf4QtViewerPlugins/AudioBookPlugin/audiobookcreator.cpp
+++ b/Pdf4QtViewerPlugins/AudioBookPlugin/audiobookcreator.cpp
@@ -18,6 +18,7 @@
#include "audiobookcreator.h"
#ifdef Q_OS_WIN
+#include
#include
#if defined(PDF4QT_USE_PRAGMA_LIB)
#pragma comment(lib, "ole32")
diff --git a/Pdf4QtViewerPlugins/DimensionsPlugin/DimensionsPlugin.pro b/Pdf4QtViewerPlugins/DimensionsPlugin/DimensionsPlugin.pro
index 78e0d18..9f99efc 100644
--- a/Pdf4QtViewerPlugins/DimensionsPlugin/DimensionsPlugin.pro
+++ b/Pdf4QtViewerPlugins/DimensionsPlugin/DimensionsPlugin.pro
@@ -20,18 +20,16 @@ DEFINES += DIMENSIONPLUGIN_LIBRARY
QT += gui widgets
+include(../../Pdf4Qt.pri)
+
LIBS += -L$$OUT_PWD/../..
LIBS += -lPdf4QtLib
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
-
INCLUDEPATH += $$PWD/../../Pdf4QtLib/Sources
DESTDIR = $$OUT_PWD/../../pdfplugins
-CONFIG += c++11
-
SOURCES += \
dimensionsplugin.cpp \
dimensiontool.cpp \
diff --git a/Pdf4QtViewerPlugins/ObjectInspectorPlugin/ObjectInspectorPlugin.pro b/Pdf4QtViewerPlugins/ObjectInspectorPlugin/ObjectInspectorPlugin.pro
index 7d95217..f1c8a6e 100644
--- a/Pdf4QtViewerPlugins/ObjectInspectorPlugin/ObjectInspectorPlugin.pro
+++ b/Pdf4QtViewerPlugins/ObjectInspectorPlugin/ObjectInspectorPlugin.pro
@@ -20,18 +20,16 @@ DEFINES += OBJECTINSPECTORPLUGIN_LIBRARY
QT += gui widgets
+include(../../Pdf4Qt.pri)
+
LIBS += -L$$OUT_PWD/../..
LIBS += -lPdf4QtLib
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
-
INCLUDEPATH += $$PWD/../../Pdf4QtLib/Sources
DESTDIR = $$OUT_PWD/../../pdfplugins
-CONFIG += c++11
-
SOURCES += \
objectinspectordialog.cpp \
objectinspectorplugin.cpp \
@@ -61,3 +59,7 @@ FORMS += \
objectstatisticsdialog.ui \
objectviewerwidget.ui \
statisticsgraphwidget.ui
+
+win32-*g++|unix: {
+ LIBS += -ltbb
+}
diff --git a/Pdf4QtViewerPlugins/ObjectInspectorPlugin/objectviewerwidget.cpp b/Pdf4QtViewerPlugins/ObjectInspectorPlugin/objectviewerwidget.cpp
index 528e3b8..c3a3767 100644
--- a/Pdf4QtViewerPlugins/ObjectInspectorPlugin/objectviewerwidget.cpp
+++ b/Pdf4QtViewerPlugins/ObjectInspectorPlugin/objectviewerwidget.cpp
@@ -35,9 +35,9 @@ ObjectViewerWidget::ObjectViewerWidget(QWidget *parent) :
ObjectViewerWidget::ObjectViewerWidget(bool isPinned, QWidget* parent) :
QWidget(parent),
ui(new Ui::ObjectViewerWidget),
- m_isPinned(isPinned),
m_cms(nullptr),
m_document(nullptr),
+ m_isPinned(isPinned),
m_isRootObject(false)
{
ui->setupUi(this);
@@ -252,7 +252,7 @@ void ObjectViewerWidget::updateUi()
ui->stackedWidget->setCurrentWidget(ui->contentTextBrowserPage);
}
}
- catch (pdf::PDFException exception)
+ catch (const pdf::PDFException &exception)
{
ui->contentTextBrowser->setText(exception.getMessage());
ui->stackedWidget->setCurrentWidget(ui->contentTextBrowserPage);
diff --git a/Pdf4QtViewerPlugins/OutputPreviewPlugin/OutputPreviewPlugin.pro b/Pdf4QtViewerPlugins/OutputPreviewPlugin/OutputPreviewPlugin.pro
index 3021f2c..a0b7012 100644
--- a/Pdf4QtViewerPlugins/OutputPreviewPlugin/OutputPreviewPlugin.pro
+++ b/Pdf4QtViewerPlugins/OutputPreviewPlugin/OutputPreviewPlugin.pro
@@ -20,18 +20,16 @@ DEFINES += OUTPUTPREVIEWPLUGIN_LIBRARY
QT += gui widgets
+include(../../Pdf4Qt.pri)
+
LIBS += -L$$OUT_PWD/../..
LIBS += -lPdf4QtLib
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
-
INCLUDEPATH += $$PWD/../../Pdf4QtLib/Sources
DESTDIR = $$OUT_PWD/../../pdfplugins
-CONFIG += c++11
-
SOURCES += \
inkcoveragedialog.cpp \
outputpreviewdialog.cpp \
diff --git a/Pdf4QtViewerPlugins/RedactPlugin/RedactPlugin.pro b/Pdf4QtViewerPlugins/RedactPlugin/RedactPlugin.pro
index a735e6c..11e0cff 100644
--- a/Pdf4QtViewerPlugins/RedactPlugin/RedactPlugin.pro
+++ b/Pdf4QtViewerPlugins/RedactPlugin/RedactPlugin.pro
@@ -20,18 +20,16 @@ DEFINES += REDACTPLUGIN_LIBRARY
QT += gui widgets
+include(../../Pdf4Qt.pri)
+
LIBS += -L$$OUT_PWD/../..
LIBS += -lPdf4QtLib
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
-
INCLUDEPATH += $$PWD/../../Pdf4QtLib/Sources
DESTDIR = $$OUT_PWD/../../pdfplugins
-CONFIG += c++11
-
SOURCES += \
createredacteddocumentdialog.cpp \
redactplugin.cpp
diff --git a/Pdf4QtViewerPlugins/SoftProofingPlugin/SoftProofingPlugin.pro b/Pdf4QtViewerPlugins/SoftProofingPlugin/SoftProofingPlugin.pro
index 630e1e5..29745ec 100644
--- a/Pdf4QtViewerPlugins/SoftProofingPlugin/SoftProofingPlugin.pro
+++ b/Pdf4QtViewerPlugins/SoftProofingPlugin/SoftProofingPlugin.pro
@@ -20,18 +20,16 @@ DEFINES += SOFTPROOFINGPLUGIN_LIBRARY
QT += gui widgets
+include(../../Pdf4Qt.pri)
+
LIBS += -L$$OUT_PWD/../..
LIBS += -lPdf4QtLib
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
-
INCLUDEPATH += $$PWD/../../Pdf4QtLib/Sources
DESTDIR = $$OUT_PWD/../../pdfplugins
-CONFIG += c++11
-
SOURCES += \
softproofingplugin.cpp \
settingsdialog.cpp
diff --git a/Pdf4QtViewerProfi/Pdf4QtViewerProfi.pro b/Pdf4QtViewerProfi/Pdf4QtViewerProfi.pro
index adb5a60..8d09cc4 100644
--- a/Pdf4QtViewerProfi/Pdf4QtViewerProfi.pro
+++ b/Pdf4QtViewerProfi/Pdf4QtViewerProfi.pro
@@ -20,6 +20,8 @@ QT += core gui widgets winextras
TARGET = Pdf4QtViewerProfi
TEMPLATE = app
+include(../Pdf4Qt.pri)
+
VERSION = 1.1.0
RC_ICONS = $$PWD/app-icon.ico
@@ -28,7 +30,10 @@ QMAKE_TARGET_DESCRIPTION = "PDF viewer for Qt, Profi version"
QMAKE_TARGET_COPYRIGHT = "(c) Jakub Melka 2018-2021"
DEFINES += QT_DEPRECATED_WARNINGS
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
+
+win32-*g++|unix: {
+ LIBS += -ltbb
+}
INCLUDEPATH += $$PWD/../PDF4QtLib/Sources $$PWD/../PDF4QtViewer
DESTDIR = $$OUT_PWD/..
diff --git a/PdfExampleGenerator/PdfExampleGenerator.pro b/PdfExampleGenerator/PdfExampleGenerator.pro
index af266ac..6ae757c 100644
--- a/PdfExampleGenerator/PdfExampleGenerator.pro
+++ b/PdfExampleGenerator/PdfExampleGenerator.pro
@@ -17,7 +17,9 @@
QT += gui widgets
-CONFIG += c++11 console
+include(../Pdf4Qt.pri)
+
+CONFIG += console
CONFIG -= app_bundle
# The following define makes your compiler emit warnings if you use
@@ -31,8 +33,6 @@ DEFINES += QT_DEPRECATED_WARNINGS
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
-
INCLUDEPATH += $$PWD/../PDF4QtLib/Sources
DESTDIR = $$OUT_PWD/..
diff --git a/PdfTool/PdfTool.pro b/PdfTool/PdfTool.pro
index 2d07252..ca5c92b 100644
--- a/PdfTool/PdfTool.pro
+++ b/PdfTool/PdfTool.pro
@@ -15,9 +15,11 @@
# You should have received a copy of the GNU Lesser General Public License
# along with PDF4QT. If not, see .
-CONFIG += c++11 console
+CONFIG += console
CONFIG -= app_bundle
+include(../Pdf4Qt.pri)
+
TARGET = PdfTool
VERSION = 1.1.0
@@ -28,7 +30,12 @@ QMAKE_TARGET_COPYRIGHT = "(c) Jakub Melka 2018-2021"
# 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
-QMAKE_CXXFLAGS += /std:c++latest /utf-8
+win32-*g++|unix: {
+ LIBS += -ltbb
+ win32: {
+ LIBS += -lole32 -lsapi
+ }
+}
INCLUDEPATH += $$PWD/../PDF4QtLib/Sources
diff --git a/PdfTool/pdftoolabstractapplication.cpp b/PdfTool/pdftoolabstractapplication.cpp
index 8508fc8..1ff0e7c 100644
--- a/PdfTool/pdftoolabstractapplication.cpp
+++ b/PdfTool/pdftoolabstractapplication.cpp
@@ -95,7 +95,7 @@ int PDFToolHelpApplication::execute(const PDFToolOptions& options)
infos.emplace_back(qMove(info));
}
- qSort(infos);
+ std::sort(infos.begin(), infos.end());
for (const Info& info : infos)
{
diff --git a/PdfTool/pdftoolattachments.cpp b/PdfTool/pdftoolattachments.cpp
index 3ae1a75..46470c4 100644
--- a/PdfTool/pdftoolattachments.cpp
+++ b/PdfTool/pdftoolattachments.cpp
@@ -189,7 +189,7 @@ int PDFToolAttachmentsApplication::execute(const PDFToolOptions& options)
return ErrorFailedWriteToFile;
}
}
- catch (pdf::PDFException e)
+ catch (const pdf::PDFException &e)
{
PDFConsole::writeError(PDFToolTranslationContext::tr("Failed to save attachment to file. %1").arg(e.getMessage()), options.outputCodec);
return ErrorFailedWriteToFile;
diff --git a/PdfTool/pdftoolaudiobook.cpp b/PdfTool/pdftoolaudiobook.cpp
index 9412b7a..b92e706 100644
--- a/PdfTool/pdftoolaudiobook.cpp
+++ b/PdfTool/pdftoolaudiobook.cpp
@@ -21,6 +21,7 @@
#include
+#include
#include
#if defined(PDF4QT_USE_PRAGMA_LIB)
diff --git a/PdfTool/pdftoolinfofonts.cpp b/PdfTool/pdftoolinfofonts.cpp
index 3b93017..01eacbb 100644
--- a/PdfTool/pdftoolinfofonts.cpp
+++ b/PdfTool/pdftoolinfofonts.cpp
@@ -254,7 +254,7 @@ int PDFToolInfoFonts::execute(const PDFToolOptions& options)
}
}
}
- catch (pdf::PDFException)
+ catch (const pdf::PDFException &)
{
// Do nothing, some error occured, continue with next font
continue;
@@ -263,7 +263,7 @@ int PDFToolInfoFonts::execute(const PDFToolOptions& options)
}
}
}
- catch (pdf::PDFException)
+ catch (const pdf::PDFException &)
{
// Do nothing, some error occured
}
diff --git a/PdfTool/pdftoolinfometadata.cpp b/PdfTool/pdftoolinfometadata.cpp
index e7e8cb3..fe837b1 100644
--- a/PdfTool/pdftoolinfometadata.cpp
+++ b/PdfTool/pdftoolinfometadata.cpp
@@ -61,7 +61,7 @@ int PDFToolInfoMetadataApplication::execute(const PDFToolOptions& options)
QByteArray rawData = document.getDecodedStream(metadata.getStream());
PDFConsole::writeData(rawData);
}
- catch (pdf::PDFException e)
+ catch (const pdf::PDFException &e)
{
PDFConsole::writeError(e.getMessage(), options.outputCodec);
}
diff --git a/PdfTool/pdftoolseparate.cpp b/PdfTool/pdftoolseparate.cpp
index 28123f6..c06596d 100644
--- a/PdfTool/pdftoolseparate.cpp
+++ b/PdfTool/pdftoolseparate.cpp
@@ -122,7 +122,7 @@ int PDFToolSeparate::execute(const PDFToolOptions& options)
}
}
}
- catch (pdf::PDFException exception)
+ catch (const pdf::PDFException &exception)
{
PDFConsole::writeError(exception.getMessage(), options.outputCodec);
}
diff --git a/PdfTool/pdftoolunite.cpp b/PdfTool/pdftoolunite.cpp
index 1389bd2..1a5c2de 100644
--- a/PdfTool/pdftoolunite.cpp
+++ b/PdfTool/pdftoolunite.cpp
@@ -211,7 +211,7 @@ int PDFToolUnite::execute(const PDFToolOptions& options)
return ErrorFailedWriteToFile;
}
}
- catch (pdf::PDFException exception)
+ catch (const pdf::PDFException &exception)
{
PDFConsole::writeError(exception.getMessage(), options.outputCodec);
return ErrorUnknown;
diff --git a/PdfTool/pdftoolxml.cpp b/PdfTool/pdftoolxml.cpp
index 1e46eb3..6bac08d 100644
--- a/PdfTool/pdftoolxml.cpp
+++ b/PdfTool/pdftoolxml.cpp
@@ -134,7 +134,7 @@ void PDFXmlExportVisitor::visitStream(const pdf::PDFStream* stream)
m_writer->writeTextElement("text", text);
}
}
- catch (pdf::PDFException)
+ catch (const pdf::PDFException &)
{
// Do nothing
}
diff --git a/UnitTests/UnitTests.pro b/UnitTests/UnitTests.pro
index 38856fa..1fb2360 100644
--- a/UnitTests/UnitTests.pro
+++ b/UnitTests/UnitTests.pro
@@ -22,6 +22,8 @@ CONFIG -= app_bundle
TEMPLATE = app
+include(../Pdf4Qt.pri)
+
INCLUDEPATH += $$PWD/../Pdf4QtLib/Sources
DESTDIR = $$OUT_PWD/..
@@ -30,8 +32,6 @@ LIBS += -L$$OUT_PWD/..
LIBS += -lPdf4QtLib
-QMAKE_CXXFLAGS += /std:c++latest
-
SOURCES += \
tst_lexicalanalyzertest.cpp