Первым пунктом новости о выходе Qt 5.13 является объявление стабильного выпуска Qt for WebAssembly - поддержка исполнения Qt приложений в современных браузерах.
Qt for WebAssembly lets you build Qt applications for web browsers and is now fully supported.
Однако, я не вижу нужный мне kit в MaintenanceTool. Подскажите, где я могу получить инструментарий для сборки и какой компилятор поддерживается?
Вроде бы, поддержку целевой платформы WebAssembly завезли в CLang, но у меня есть подозрения, что по датам Qt Group успели бы сделать комплект только для множества инструментов Emscripten.
Для начала, вы не видите kit для сборки в WebAssembly, так как показываются только LTS (Long-term support) пакеты. Выберите чекбокс "Latest releases" и не забудьте нажать на кнопку "Обновить".
Идем дальше. Комплект WebAssembly действительно был разработан для инструментария Emscripten. Поэтому, следуя инструкции, выполняем установку. Важно: исходя из руководства для Qt 5.13 нужна версия sdk ИМЕННО 1.38.27 64 разрядная. Обратите внимание, я выполняю установку без флага "--embedded"
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install sdk-1.38.27-64bit
brew cask install java
./emsdk activate sdk-1.38.27-64bit
source emsdk_env.sh
Проверяем:
emcc --version
emcc (Emscripten gcc/clang-like replacement) 1.38.27 (commit c56422590bb911603529052b7bd78e6ca3c9fa27)
Copyright (C) 2014 the Emscripten authors (see AUTHORS.txt)
This is free and open source software under the MIT license.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Отлично, установка выполнена. Далее, добавляем компилятор Emscripten C (Добавить -> Особый -> C). Примечание: путь к бинарнику после установки у меня получился следующий:
/Users/tripolskypetr/emsdk/emscripten/1.38.27/emcc
Тоже самое для Emscripten C++ (Добавить -> Особый -> C++), путь имеет следующий вид:
/Users/tripolskypetr/emsdk/emscripten/1.38.27/em++
Выбираем компилятор C и C++, настроенные выше, комплекту.
Первая сборка проекта будет идти очень долго. Ориентируйтесь на диспетчер задач, процесс "asm2wasm" будет в топе. Так же, на этапе проверки wat, будет зависать сам QtCreator (и кушать под 100%, это норма). Для тестовой сборки подойдет один из проектов в этом репозитории или шаблонный проект QML.
Примечание: после успешной сборки Qt Creator не станет автоматически открывать собранное приложение. Сделать это придется мануально, развернув веб-сервер в директории сборки. Просто открыть браузером html документ не достаточно.
cd build-hello-world-Qt_5_13_1_WebAssembly-Debug/
python3 -m http.server
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Все мы знаем, что если создать некую локальную переменную, например int a, в нее может попасть мусор и она не будет равна нулю, а может, например...
Вечер добрыйНужно написать функцию удаления каждого второго элемента списка