Is it possible to compile only a part of the Qt source code?
-
In order to fix an issue I reported some time ago, and which becomes blocking for my projects, I would like to compile a part of the Qt source code. The issue I'm talking of is the following:
https://bugreports.qt.io/browse/QTBUG-82779So I have a simple example which reproduce the issue I want to fix, I already got the Qt full source code from the repository, and I already searched the part of the code which may cause the issue. I found a suspect, now I want to test it. The concerned code is located in the QtSVG module.
What I want to do is to compile only the QtSVG module, which contains few classes and probably the issue I want to catch. However I tried to open and compile the provided .pro projects (I found 2 in the QtSVG dir), using both Visual Studio 2019 (it's my preferred tool for development) or Qt Creator. Both show me the same error when I open the .pro files:
[1] - Project MESSAGE: perl -w C:\QT\5.13.0\MSVC2017\bin\syncqt.pl -module QtSvg -version 5.12.7 -outdir "X:/xxxxx/qt5/qtsvg" -builddir "X:/xxxxx/qt5/qtsvg" N:/Jeanmilost/Devel/Public Projects/qt5/qtsvg [2] - Use of uninitialized value $directory in concatenation (.) or string at Y:\QT\5.13.0\MSVC2017\bin\syncqt.pl line 689. [3] - fileparse(): need a valid pathname at Y:\QT\5.13.0\MSVC2017\bin\syncqt.pl line 692. [4] - Project ERROR: Failed to run: perl -w Y:\QT\5.13.0\MSVC2017\bin\syncqt.pl -module QtSvg -version 5.12.7 -outdir "X:/xxxxx/qt5/qtsvg" -builddir "X:/xxxxx/qt5/qtsvg" N:/Jeanmilost/Devel/Public Projects/qt5/qtsvg
I also tweaked a while the .pro project to disable the part which requires Perl, and I could create a Visual Studio 2019 .sln project. However I have the following errors and warnings while I compile:
Severity Code Description Project File Line Suppression State Warning C4273 'QSvgFont::QSvgFont': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgfont.cpp 57 Error C1083 Cannot open include file: 'private/qpaintengine_p.h': No such file or directory svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggenerator.cpp 46 Warning C4273 'QSvgGlyph::QSvgGlyph': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgfont.cpp 50 Warning C4273 'QSvgFont::familyName': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgfont.cpp 63 Warning C4273 'QSvgFont::addGlyph': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgfont.cpp 69 Warning C4273 'QSvgFont::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgfont.cpp 76 Warning C4273 'QSvgFont::setFamilyName': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgfont.cpp 127 Warning C4273 'QSvgFont::setUnitsPerEm': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgfont.cpp 132 Warning C4273 'QSvgG::QSvgG': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 53 Warning C4273 'QSvgStructureNode::~QSvgStructureNode': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 59 Warning C4273 'QSvgG::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 64 Warning C4273 'QSvgG::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 78 Warning C4273 'QSvgStructureNode::QSvgStructureNode': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 83 Warning C4273 'QSvgStructureNode::scopeNode': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 89 Warning C4273 'QSvgStructureNode::addChild': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 95 Warning C4273 'QSvgDefs::QSvgDefs': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 107 Warning C4273 'QSvgDefs::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 112 Warning C4273 'QSvgDefs::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 117 Error C1083 Cannot open include file: 'private/qobject_p.h': No such file or directory svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgrenderer.cpp 49 Warning C4273 'QSvgSwitch::QSvgSwitch': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 274 Warning C4273 'QSvgSwitch::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 280 Warning C4273 'QSvgSwitch::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 344 Warning C4273 'QSvgSwitch::init': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 349 Warning C4273 'QSvgStructureNode::bounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 357 Warning C4273 'QSvgNode::QSvgNode': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 49 Warning C4273 'QSvgNode::~QSvgNode': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 56 Warning C4273 'QSvgStructureNode::previousSiblingNode': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstructure.cpp 365 Warning C4273 'QSvgNode::isDescendantOf': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 61 Warning C4273 'QSvgNode::appendStyleProperty': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 72 Warning C4273 'QSvgNode::applyStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 126 Warning C4273 'QSvgNode::revertStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 131 Warning C4273 'QSvgNode::styleProperty': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 136 Warning C4273 'QSvgNode::styleProperty': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 198 Warning C4273 'QSvgNode::bounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 207 Warning C4273 'QSvgNode::transformedBounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 212 Warning C4273 'QSvgNode::document': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 241 Warning C4273 'QSvgNode::setRequiredFeatures': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 253 Warning C4273 'QSvgNode::requiredFeatures': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 258 Warning C4273 'QSvgNode::setRequiredExtensions': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 263 Warning C4273 'QSvgNode::requiredExtensions': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 268 Warning C4273 'QSvgNode::setRequiredLanguages': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 273 Warning C4273 'QSvgNode::requiredLanguages': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 278 Warning C4273 'QSvgNode::setRequiredFormats': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 283 Warning C4273 'QSvgNode::requiredFormats': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 288 Warning C4273 'QSvgNode::setRequiredFonts': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 293 Warning C4273 'QSvgNode::requiredFonts': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 298 Warning C4273 'QSvgNode::setVisible': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 303 Warning C4273 'QSvgNode::transformedBounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 315 Warning C4273 'QSvgNode::setNodeId': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 323 Warning C4273 'QSvgNode::setXmlClass': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 328 Warning C4273 'QSvgNode::setDisplayMode': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 333 Warning C4273 'QSvgNode::displayMode': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 338 Error C1083 Cannot open include file: 'private/qcssparser_p.h': No such file or directory (compiling source file qsvghandler.cpp) svg X:\xxxxx\qt5\qtsvg\src\svg\qsvghandler_p.h 59 Warning C4273 'QSvgNode::strokeWidth': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgnode.cpp 343 Error C1083 Cannot open include file: 'private/qobject_p.h': No such file or directory svg X:\xxxxx\qt5\qtsvg\src\svg\qgraphicssvgitem.cpp 48 Warning C4273 'QSvgAnimation::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 74 Warning C4273 'QSvgEllipse::QSvgEllipse': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 87 Warning C4273 'QSvgEllipse::bounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 93 Warning C4273 'QSvgEllipse::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 101 Warning C4273 'QSvgArc::QSvgArc': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 108 Warning C4273 'QSvgArc::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 113 Warning C4273 'QSvgImage::QSvgImage': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 126 Warning C4273 'QSvgImage::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 136 Warning C4273 'QSvgLine::QSvgLine': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 144 Warning C4273 'QSvgLine::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 150 Warning C4273 'QSvgPath::QSvgPath': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 162 Warning C4273 'QSvgPath::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 167 Warning C4273 'QSvgPath::bounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 175 Warning C4273 'QSvgPolygon::QSvgPolygon': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 182 Warning C4273 'QSvgPolygon::bounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 187 Warning C4273 'QSvgPolygon::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 199 Warning C4273 'QSvgPolyline::QSvgPolyline': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 207 Warning C4273 'QSvgPolyline::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 213 Warning C4273 'QSvgRect::QSvgRect': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 232 Warning C4273 'QSvgRect::bounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 238 Warning C4273 'QSvgRect::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 250 Warning C4273 'LINEBREAK': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 260 Error C2491 'QSvgText::LINEBREAK': definition of dllimport static data member not allowed svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 260 Warning C4273 'QSvgText::QSvgText': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 263 Warning C4273 'QSvgText::~QSvgText': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 272 Warning C4273 'QSvgText::setTextArea': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 280 Warning C4273 'QSvgText::draw': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 288 Warning C4273 'QSvgText::addText': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 455 Warning C4273 'QSvgAnimation::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 496 Warning C4273 'QSvgArc::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 501 Warning C4273 'QSvgCircle::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 506 Warning C4273 'QSvgEllipse::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 511 Warning C4273 'QSvgImage::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 516 Warning C4273 'QSvgLine::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 521 Warning C4273 'QSvgPath::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 526 Warning C4273 'QSvgPolygon::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 531 Warning C4273 'QSvgPolyline::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 536 Warning C4273 'QSvgRect::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 541 Warning C4273 'QSvgText::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 546 Warning C4273 'QSvgPolyline::bounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 573 Warning C4273 'QSvgArc::bounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 585 Warning C4273 'QSvgImage::bounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 592 Warning C4273 'QSvgLine::bounds': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvggraphics.cpp 597 Warning C4273 'QSvgExtraStates::QSvgExtraStates': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 57 Warning C4273 'QSvgStyleProperty::~QSvgStyleProperty': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 69 Warning C4273 'QSvgFillStyleProperty::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 73 Warning C4273 'QSvgFillStyleProperty::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 78 Warning C4273 'QSvgQualityStyle::QSvgQualityStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 84 Warning C4273 'QSvgQualityStyle::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 88 Warning C4273 'QSvgQualityStyle::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 92 Warning C4273 'QSvgFillStyle::QSvgFillStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 97 Warning C4273 'QSvgFillStyle::setFillRule': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 110 Warning C4273 'QSvgFillStyle::setFillOpacity': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 116 Warning C4273 'QSvgFillStyle::setFillStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 122 Warning C4273 'QSvgFillStyle::setBrush': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 128 Warning C4273 'QSvgFillStyle::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 135 Warning C4273 'QSvgFillStyle::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 153 Warning C4273 'QSvgViewportFillStyle::QSvgViewportFillStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 163 Warning C4273 'QSvgViewportFillStyle::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 168 Warning C4273 'QSvgViewportFillStyle::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 174 Warning C4273 'QSvgFontStyle::QSvgFontStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 179 Warning C4273 'QSvgFontStyle::QSvgFontStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 191 Warning C4273 'QSvgFontStyle::SVGToQtWeight': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 202 Warning C4273 'QSvgFontStyle::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 223 Warning C4273 'QSvgFontStyle::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 262 Warning C4273 'QSvgStrokeStyle::QSvgStrokeStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 270 Warning C4273 'QSvgStrokeStyle::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 291 Warning C4273 'QSvgStrokeStyle::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 377 Warning C4273 'QSvgStrokeStyle::setDashArray': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 385 Warning C4273 'QSvgSolidColorStyle::QSvgSolidColorStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 401 Warning C4273 'QSvgGradientStyle::QSvgGradientStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 406 Warning C4273 'QSvgGradientStyle::brush': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 411 Warning C4273 'QSvgGradientStyle::setMatrix': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 432 Warning C4273 'QSvgTransformStyle::QSvgTransformStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 437 Warning C4273 'QSvgTransformStyle::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 442 Warning C4273 'QSvgTransformStyle::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 448 Warning C4273 'QSvgQualityStyle::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 453 Warning C4273 'QSvgFillStyle::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 458 Warning C4273 'QSvgViewportFillStyle::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 463 Warning C4273 'QSvgFontStyle::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 468 Warning C4273 'QSvgStrokeStyle::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 473 Warning C4273 'QSvgSolidColorStyle::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 478 Warning C4273 'QSvgGradientStyle::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 483 Warning C4273 'QSvgTransformStyle::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 488 Warning C4273 'QSvgCompOpStyle::QSvgCompOpStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 494 Warning C4273 'QSvgCompOpStyle::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 500 Warning C4273 'QSvgCompOpStyle::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 506 Warning C4273 'QSvgCompOpStyle::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 511 Warning C4273 'QSvgStyle::~QSvgStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 516 Warning C4273 'QSvgStyle::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 520 Warning C4273 'QSvgStyle::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 584 Warning C4273 'QSvgAnimateTransform::QSvgAnimateTransform': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 637 Warning C4273 'QSvgAnimateTransform::setArgs': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 652 Warning C4273 'QSvgAnimateTransform::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 661 Warning C4273 'QSvgAnimateTransform::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 669 Warning C4273 'QSvgAnimateTransform::resolveMatrix': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 675 Warning C4273 'QSvgAnimateTransform::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 800 Warning C4273 'QSvgAnimateTransform::setFreeze': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 805 Warning C4273 'QSvgAnimateTransform::setRepeatCount': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 810 Warning C4273 'QSvgAnimateColor::QSvgAnimateColor': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 815 Warning C4273 'QSvgAnimateColor::setArgs': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 828 Warning C4273 'QSvgAnimateColor::setFreeze': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 834 Warning C4273 'QSvgAnimateColor::setRepeatCount': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 839 Warning C4273 'QSvgAnimateColor::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 844 Warning C4273 'QSvgAnimateColor::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 902 Warning C4273 'QSvgAnimateColor::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 911 Warning C4273 'QSvgOpacityStyle::QSvgOpacityStyle': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 916 Warning C4273 'QSvgOpacityStyle::apply': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 922 Warning C4273 'QSvgOpacityStyle::revert': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 928 Warning C4273 'QSvgOpacityStyle::type': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 933 Warning C4273 'QSvgGradientStyle::setStopLink': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 938 Warning C4273 'QSvgGradientStyle::resolveStops': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 944 Warning C4273 'QSvgGradientStyle::resolveStops_helper': inconsistent dll linkage svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgstyle.cpp 950 Error C1083 Cannot open include file: 'private/qcssparser_p.h': No such file or directory (compiling source file qsvgtinydocument.cpp) svg X:\xxxxx\qt5\qtsvg\src\svg\qsvghandler_p.h 59 Error C1083 Cannot open include file: 'private/qwidget_p.h': No such file or directory svg X:\xxxxx\qt5\qtsvg\src\svg\qsvgwidget.cpp 48
I'm not really an expert about compiling third party libraries, I haven't much time to spend to a such task, and I just want to compile the QtSVG module, or at least be able to debug its code. Without that I will not be able to fix an issue which I'm pretty sure to be able to fix, which would be a shame.
So is there a simple way to compile just a particular module from the Qt source code? How can I achieve that? Has someone already achieved a such task and could point me how to do that (or at least a document explainig how to do that)?
And, considering the above errors and warning, am I far or close to be able to compile the source code?
-
Ok so I followed the instructions of this document: https://wiki.qt.io/Building_Qt_5_from_Git#Getting_the_source_code, and this resolved my issue.
As an additional question, what is the better way to submit a patched code to the Qt team? I have fixed the following bug in the QtSvg module: https://bugreports.qt.io/browse/QTBUG-82779, now I want to open a pull request. I forked (but I'm not sure it's the right version) the module source code from here: https://github.com/qt/qtsvg, and I'm ready to post a pull request from my fork. Is the good way to do that? Or how should I propose my modifications otherwise?
-
Hi JeanMilost,
there are many ways to compile QT Projects or Parts of QT. If you want debug a part of QT you should build a complete Debug Version od QT. Many documents describe what is to do.
configure -developer-build -debug-and-release -opensource -platform win32-msvc2019 -opengl desktop -confirm-license
for example. Then "make" and you can go visit your friends because for that you computer need a long time. With my i7 6700 and 32 GB RAM it need 7 hours. After your computer finished to compile the qt Version you can open the PRO Files with VStudio Qt Extensions. The important thing is that the enviroment Variable QTDIR point to "/QTXXX/qtbase". Every include Path to QT should be relative to this path. In Visual Studio you can add "additional include folder(s)" with right click on project, settings, compile settings. Sorry, I don't use VS 2019 but many other versions. Unfortunalety MS like change Menus, and sortings in Trees. If you don't find how to set "additional include folder(s)" use the internet for find. There is a edit line you can add folders with semicolon separated relative paths like:
$(QTDIR)\include;
$(QTDIR)\include\QtWidgets;
$(QTDIR)\include\QtOpenGL;
$(QTDIR)\include\QtSvg;
$(QTDIR)\include\QtCore;
$(QTDIR)\include\QtGui;
$(QTDIR)\include\QtPrintSupport;
$(QTDIR)\include\QtConcurrent;
$(QTDIR)..\qtsvg\include;
$(QTDIR)..\qtsvg\include\QtSvg;
$(QTDIR)..\qtserialport\include;
$(QTDIR)..\qtserialport\include\QtSerialPort;
.\GeneratedFiles;
.\GeneratedFiles$(Configuration);
%(AdditionalIncludeDirectories)Don't mißunderstand. All is in one line, like this:
$(QTDIR)\include;$(QTDIR)\include\QtWidgets; ...
Then the compiler can find the paths what are missing. This Line can have a huge count of paths, especially if you use 3rd Party Libs.
A warning on end. It's not easy to debug QT Libs in Windows. But it is an adventure.
-
@jeanmilost Please check configure parameters (configure -h). You can tell it which modules should not be compiled: https://doc.qt.io/qt-5/configure-options.html
-
Ok so I followed the instructions of this document: https://wiki.qt.io/Building_Qt_5_from_Git#Getting_the_source_code, and this resolved my issue.
As an additional question, what is the better way to submit a patched code to the Qt team? I have fixed the following bug in the QtSvg module: https://bugreports.qt.io/browse/QTBUG-82779, now I want to open a pull request. I forked (but I'm not sure it's the right version) the module source code from here: https://github.com/qt/qtsvg, and I'm ready to post a pull request from my fork. Is the good way to do that? Or how should I propose my modifications otherwise?
-
@jeanmilost Qt team does not use GH so a PR will not work, I recommend you check https://wiki.qt.io/Qt_Contribution_Guidelines
-
Thank you very much