Solved Error "No rule to make target 'vulkan/qvulkanfunctions_p.h' ..." while building QT/Android on Windows
-
I am trying to build Qt5.10.1 for Android on Windows. I set up all the environment according to this guide.
QT configures successfully with the following options (I tried exclude as much as possible):
configure.bat -prefix C:\Qt\Qt5.10.1-Android -DQT_NO_EXCEPTIONS -release -force-debug-info -platform win32-g++ -opengl es2 -xplatform android-g++ -android-ndk %ANDROID_NDK_PATH% -android-sdk %ANDROID_SDK_ROOT% -opensource -confirm-license -nomake tests -nomake examples -skip webengine -skip websockets -skip webchannel -skip qt3d -skip charts -skip connectivity -skip datavis3d -skip doc -skip gamepad -skip location -skip sensors -skip serialbus -skip purchasing -skip wayland -no-harfbuzz -no-pcre -no-xcb -no-xkbcommon
but when I start mingw32-make.exe I get the following error:
No rule to make target 'vulkan/qvulkanfunctions_p.h', needed by '.obj\qvulkaninstance.obj'.
There is qt5\qtbase\include\QtGui\5.10.1\QtGui\private\qvulkanfunctions_p.h in my QT sources, but there is no qvulkanfunctions_p.h in ''vulkan" directory.
bellow I provided Make output:
C:\Users\nx111\AppData\Local\Android\Sdk\ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -c -D__ANDROID_API__=16 --sysroot=C:\Users\nx111\AppData\Local\Android\Sdk\ndk-bundle/sysroot -isystem C:\Users\nx111\AppData\Local\Android\Sdk\ndk-bundle/sysroot/usr/include/arm-linux-androideabi -isystem C:\Users\nx111\AppData\Local\Android\Sdk\ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem C:\Users\nx111\AppData\Local\Android\Sdk\ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -fstack-protector-strong -DANDROID -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove -O2 -g -g -Os -mthumb -std=c++14 -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -D_REENTRANT -fPIC -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DENABLE_PIXMAN_DRAWHELPERS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_GUI_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_NO_EXCEPTIONS -I. -I....\include -I....\include\QtGui -I....\include\QtGui\5.10.1 -I....\include\QtGui\5.10.1\QtGui -I....\include\QtCore\5.10.1 -I....\include\QtCore\5.10.1\QtCore -I....\include\QtCore -I.moc -I..\3rdparty\libpng -I....\mkspecs\android-g++ -o .obj\qopengldebug.obj opengl\qopengldebug.cpp
C:\Users\nx111\AppData\Local\Android\Sdk\ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++ -c -D__ANDROID_API__=16 --sysroot=C:\Users\nx111\AppData\Local\Android\Sdk\ndk-bundle/sysroot -isystem C:\Users\nx111\AppData\Local\Android\Sdk\ndk-bundle/sysroot/usr/include/arm-linux-androideabi -isystem C:\Users\nx111\AppData\Local\Android\Sdk\ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem C:\Users\nx111\AppData\Local\Android\Sdk\ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -fstack-protector-strong -DANDROID -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove -O2 -g -g -Os -mthumb -std=c++14 -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Wvla -D_REENTRANT -fPIC -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DENABLE_PIXMAN_DRAWHELPERS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_GUI_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_NO_EXCEPTIONS -I. -I....\include -I....\include\QtGui -I....\include\QtGui\5.10.1 -I....\include\QtGui\5.10.1\QtGui -I....\include\QtCore\5.10.1 -I....\include\QtCore\5.10.1\QtCore -I....\include\QtCore -I.moc -I..\3rdparty\libpng -I....\mkspecs\android-g++ -o .obj\qstandarditemmodel.obj itemmodels\qstandarditemmodel.cpp
mingw32-make.exe[3]: *** No rule to make target 'vulkan/qvulkanfunctions_p.h', needed by '.obj\qvulkaninstance.obj'. Stop.
mingw32-make.exe[3]: *** Waiting for unfinished jobs....
mingw32-make.exe[3]: Leaving directory 'C:/repos/qt5/qtbase/src/gui'
mingw32-make.exe[2]: *** [Makefile:478: sub-gui-make_first] Error 2
mingw32-make.exe[2]: Leaving directory 'C:/repos/qt5/qtbase/src'
mingw32-make.exe[1]: *** [Makefile:49: sub-src-make_first] Error 2
mingw32-make.exe[1]: Leaving directory 'C:/repos/qt5/qtbase'
mingw32-make.exe: *** [Makefile:76: module-qtbase-make_first] Error 2 -
It is the bug https://bugreports.qt.io/browse/QTBUG-65072