Russian Qt Forum
Ноябрь 22, 2024, 18:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Сборка Qt5 под WinRT  (Прочитано 6705 раз)
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« : Март 22, 2014, 16:44 »

Судя по всему Qt под WinRT можно щупать, т.к. в 5.3 (выйдет в конце апреля) обещают официальную поддержку... Но с наскоку не удалось собрать.

Что я делал:
  • поставил в виртуалку Win8.1
  • поставил Win8.1 SDK
  • поставил VS2013 Express for Windows
  • поставил Strawberry Perl
  • Склонировал stable ветку Qt5
  • Открыл консоль VS2013 x86 Native tools command prompt
  • configure.bat -xplatform winrt-arm-msvc2013 -developer-build -opensource -confirm-license -nomake tests -nomake examples

Словил ошибку линковки
Код:
link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' versio
n='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST /MANIFESTFILE:"configure.intermediate.manifest" /OUT:..\..\confi
gure.exe @C:\Users\46AD~1\AppData\Local\Temp\nmBDC7.tmp
LINK : fatal error LNK1104: cannot open file 'libcpmt.lib'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\link.EXE"' : return code '0x450'
Stop.

Не может найти libcpmt.lib

Как можно исправить? Знатоки студии помогите
« Последнее редактирование: Март 26, 2014, 19:16 от navrocky » Записан

Гугль в помощь
twp
Гость
« Ответ #1 : Март 23, 2014, 21:51 »

По идее перед сборкой надо запустить скрипт vcvarsall.bat с целевой платформой в качестве параметра.
У меня нет VS2013, но для VS2012 надо выполнить что-то типа такого:
Код:
"c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" arm
Есть еще x86_arm
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #2 : Март 25, 2014, 11:12 »

По идее перед сборкой надо запустить скрипт vcvarsall.bat с целевой платформой в качестве параметра.
У меня нет VS2013, но для VS2012 надо выполнить что-то типа такого:
Код:
"c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" arm
Есть еще x86_arm

Вроде бы "VS2013 x86 Native tools command prompt" решает ту же задачу по инициализации необходимых переменных. В мануале по сборке Qt под WinRT указано, что надо выбирать именно x86 т.к. идет сборка qmake и остальных утилит для кросскомпиляции.

Пока проблему не победил. Написал в багтрекер - https://bugreports.qt-project.org/browse/QTBUG-37712

Также сборка фейлится при конфигурировании под x86/64 архитектуры (winrt-x86-msvc2013, winrt-x64-msvc2013)
Записан

Гугль в помощь
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #3 : Март 26, 2014, 19:16 »

Всё оказалось проще, надо ставить 2 студии VS2013 for Windows и VS2013 for Windows Desktop.

Плюс к этому еще надо доставить win_flex.exe и bison.exe.

Скачать можно отсюда http://sourceforge.net/projects/winflexbison/. win_flex.exe должен находиться в папке gnuwin32 рядом с папкой исходников qt (путь захардкожен). bison.exe надо взять из winflexbison переименовав win_bison.exe в bison.exe. Путь к bison.exe должен быть прописан в PATH (лежать может где угодно, у меня он в той-же папке что и win_bison.exe).

Теперь стопорнулся на сборке тестового приложения. Но это уже другая история.....
Записан

Гугль в помощь
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.183 секунд. Запросов: 23.