Я могу сгенерировать проект MSVC (.vcxproj) из Qt, но проект не содержит файл манифеста приложения (Package.appxmanifest).Я попытался использовать переменную qmake WINRT_MANIFEST и убедиться, что CONFIG включает embed_manifest_exe, но я должен что-то неправильно понять.
Мой вопрос состоит из 2 частей:
- Как определить манифест приложенияв моем проекте Qt?
- Как манифест этого приложения может стать частью проекта MSVC, созданного Qt Creator / qmake?
Я использую Qt Creator 4.7.1 , Qt 5.11.2 MSVC2017 64bit , на Windows 10 и у меня Visual Studio 2017 Community установлено.
Что я имеюуже попробовал
Сборка проекта MSCV
На основе документации Qt для WinRT и помощи сообщества Qt, я запускаю следующее (через QMAKE_POST_LINK
, установите вmy .pro
):
windeployqt --release --compiler-runtime --qmldir path-to-my-qml-files
qmake -tp vc path-to-my-.pro -o path-to-build-folder/target-name.vcxproj CONFIG+=release
Они успешно создают проект MSVC, а папка выпуска содержит все библиотеки, необходимые для развертывания, и файл vcredist_xxx.exe.
Чтение документации Qt в приложении Windowsманифест
Документация Qt для развертывания Windows> Файлы манифеста :
При развертывании приложения, скомпилированного с Visual Studio, необходимо предпринять некоторые дополнительные шаги.Во-первых, нам нужно скопировать файл манифеста, созданный при связывании приложения.... Начиная с Qt 4.1.3, для встраивания манифестов доступны следующие опции CONFIG: embed_manifest_dll
embed_manifest_exe
Обе опции включены по умолчанию.
Итак, насколько я понимаю, если опция CONFIGembed_manifest_exe
включено, что по умолчанию, тогда манифест должен быть встроен при запуске qmake.
Документация Qt для переменных Qmake> WINRT_MANIFEST :
Указывает параметры для передачи в манифест приложения.
Они перечислены, многие из которых имеют значения по умолчанию.
Так почему же не генерируется манифест приложения??Даже если я сам ничего не указываю, конечно, комбинация WINRT_MANIFEST
и CONFIG contains embed_manifest_exe
должна означать, что должен быть встроен манифест по умолчанию.
Я также попытался установить свойства WINRT_MANIFEST
(например, * 1064).*) и я попытался создать свой собственный Manifest.xml и установить WINRT_MANIFEST=Manifest.xml.
Но это не имеет значения.