Missing ("convenience") headers after building and installing
-
Hello,
I'm doing a shadow build on Windows/VS2013 by switching to
qtsrc\build_dev
, then calling..\configure -...
andnmake
from there.
This puts everything (bin, lib, include etc.) into\build_dev
.With Qt 5.5 I also ran
nmake install
afterwards.
This put additional files intobuild_dev
, like additional includes and mkspecs (required for VS add-in) from qtsrc root.
Especially, there were these "convenience" headers now (those without extension), for exampleqtsrc\build_dev\qtbase\include\QtCore\QDate
.
This is nice because I can just write#include <QDate>
.Now I'm doing the same with Qt 5.8 but after
nmake install
, no additional headers are put intobuild_dev
(mkspecs are copied though)!
So I'm missing the "convenience" headers and I have to write#include <qdatetime.h>
instead..What am I doing wrong? Did something change regarding that with Qt >5.5?
Thank you.
-
What I found is that there are differences in a makefile, specifically:
qtsrc\build_dev\qtbase\src\corelib\Makefile.Debug
In Qt5.5.1, there are entries like this:
####### Install ... install_class_headers: first FORCE @if not exist D:$(INSTALL_ROOT)\Programming\Libraries\Qt\build_dev\qtbase\include\QtCore mkdir D:$(INSTALL_ROOT)\Programming\Libraries\Qt\build_dev\qtbase\include\QtCore & if not exist D:$(INSTALL_ROOT)\Programming\Libraries\Qt\build_dev\qtbase\include\QtCore exit 1 -$(INSTALL_FILE) D:\Programming\Libraries\Qt\qtbase\include\QtCore\QAbstractAnimation D:$(INSTALL_ROOT)\Programming\Libraries\Qt\build_dev\qtbase\include\QtCore -$(INSTALL_FILE) D:\Programming\Libraries\Qt\qtbase\include\QtCore\QAnimationDriver D:$(INSTALL_ROOT)\Programming\Libraries\Qt\build_dev\qtbase\include\QtCore -$(INSTALL_FILE) D:\Programming\Libraries\Qt\qtbase\include\QtCore\QAnimationGroup D:$(INSTALL_ROOT)\Programming\Libraries\Qt\build_dev\qtbase\include\QtCore ... -$(INSTALL_FILE) D:\Programming\Libraries\Qt\qtbase\include\QtCore\QDate D:$(INSTALL_ROOT)\Programming\Libraries\Qt\build_dev\qtbase\include\QtCore
In Qt5.8.0 these are missing entirely:
####### Install install: FORCE uninstall: FORCE FORCE:
Does anyone know why and how I could install the headers correctly anyway?
-
Hi,
What parameters did you pass to configure ?
-
Hi,
I just tried with Qt 5.7.1 and it's the same issue.
5.7.1 configuration:
..\configure -I D:\Programming\Libraries\OpenSSL\inc -L D:\Programming\Libraries\OpenSSL\lib\32\dyn OPENSSL_LIBS="-luser32 -ladvapi32 -lgdi32" OPENSSL_LIBS_DEBUG="-lssleayMDd -llibeayMDd" OPENSSL_LIBS_RELEASE="-lssleayMDd -llibeayMDd" -opensource -confirm-license -debug -platform win32-msvc2013 -mp -nomake examples -nomake tests -no-compile-examples -openssl-linked -qt-libpng -qt-libjpeg -no-sql-sqlite -no-opengl -no-iconv -no-evdev -no-mtdev -no-inotify -no-eventfd -no-angle -no-incredibuild-xge -no-libproxy -no-dbus -no-wmf-backend -no-qml-debug -no-native-gestures -no-nis -no-cups -skip qtmultimedia -skip qtsvg -skip qtwebsockets -skip qtwinextras -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtmacextras -skip qtpurchasing -skip qtquickcontrols -skip qtquickcontrols2 -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qttranslations -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebview -skip qtx11extras -skip qtxmlpatterns
I used nearly the same config options for 5.5.1, modified just a few module skips.
(Everything but qtbase and qttools is skipped) -
From which folder are you calling configure ?
-
-
It wasn't really clear that qtsrc was the root of the sources since all the source package uncompress in a way longer folder name.
In any case, a real shadow build is outside the sources.
If you want to have everything in the build folder then your have to add the
-prefix
option pointing to the build folder also.