Configuração do Ambiente para Compilação Qt + OpenHarmony
Para desenvolver aplicações Qt voltadas ao sistema OpenHarmony (especificamente utilizando a versão 5.12.12), é necessário preparar um ambiente de compilação cruzada (cross-compilation) bem definido. Abaixo estão os passos detalhados para configurar e construir o Qt 5.12.12 compatível com arquiteturas OpenHarmony, como x86_64 e aarch64.
Baixar Componentes Necesários
- MinGW 7.3.0 (64-bit): Utilize a versão específica em
http://sgamer.oicp.net:8888/ohos/mingw730_64.rar. Versões mais recentes podem causar incompatibilidades durante a compilação. - SDK OpenHarmony: Disponível em
http://sgamer.oicp.net:8888/ohos/sdk.rar. - Código-fonte do Qt 5.12.12: Baixe de
http://sgamer.oicp.net:8888/ohos/qt-harmonyos-src-5.12.12-20260403.zip. - Perl portátil (Strawberry Perl): Requerido pelo processo de configuração do Qt. Obtenha em
http://sgamer.oicp.net:8888/ohos/strawberry-perl-5.42.2.1-64bit-portable.zip.
Estrutura de Diretórios Recomendada
D:\oh\
├── mingw64 # Compilador MinGW
├── tqtc-qt5 # Código-fonte do Qt 5.12.12
├── strawberry-perl-5.42.2.1-64bit-portable # Ambiente Perl
├── build_x86_64 # Build intermediário para x86_64
├── build_aarch64 # Build intermediário para aarch64
├── qt-5.12.12-ohos-x86_64 # Instalação final Qt x86_64
└── qt-5.12.12-ohos-aarch64 # Instalação final Qt aarch64
D:\fpc4ohos\
└── sdk\default\openharmony\native # SDK OpenHarmony nativo
Variáveis de Ambiente
Adicione as seguintes variáveis ao sistema (via Painel de Controle → Sistema → Configurações Avançadas → Variáveis de Ambiente). Após configurar, reinicie o computador para garantir que as alterações tenham efeito:
NATIVE_OHOS_SDK = D:\fpc4ohos\sdk\default\openharmony\native
OHOS_SDK_SYSROOT = %NATIVE_OHOS_SDK%\sysroot
LLVM_INSTALL_DIR = %NATIVE_OHOS_SDK%\llvm
QT5_ROOT_DIR = D:\oh\tqtc-qt5
Otimizações de Compilação
Para acelerar o processo e remover módulos desnecessários, defina a variável QT_SKIPS no terminal antes da configuração:
SET QT_SKIPS=-skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcanvas3d -skip qtconnectivity -skip qtdatavis3d -skip qtdoc -skip qtdocgallery -skip qtfeedback -skip qtgamepad -skip qtgraphicaleffects -skip qtlocation -skip qtmacextras -skip qtnetworkauth -skip qtpim -skip qtpurchasing -skip qtqa -skip qtremoteobjects -skip qtrepotools -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsystems -skip qttools -skip qttranslations -skip qtvirtualkeyboard -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtwinextras -skip qtx11extras -no-dbus -skip doc
Compilação para x86_64
Navegue até o diretório de construção e execute:
cd D:\oh\build_x86_64
call ..\tqtc-qt5\configure.bat -v ^
-xplatform ohos-clang ^
-device-option CROSS_COMPILE=%LLVM_INSTALL_DIR%\bin ^
-extprefix D:\oh\qt-5.12.12-ohos-x86_64 ^
-opensource -confirm-license ^
-debug ^
-no-use-gold-linker ^
%QT_SKIPS% ^
-nomake tests -nomake examples ^
-no-gcc-sysroot ^
-opengles3 ^
-c++std c++14 ^
-ohos-arch x86_64 ^
-Wall -Wno-switch
Após a configuração bem-sucedida:
mingw32-make -j8
mingw32-make install
Compilação para aarch64 (ARM64)
No diretório de build ARM64:
cd D:\oh\build_aarch64
call ..\tqtc-qt5\configure.bat -v ^
-xplatform ohos-clang ^
-device-option CROSS_COMPILE=%LLVM_INSTALL_DIR%\bin ^
-extprefix D:\oh\qt-5.12.12-ohos-aarch64 ^
-opensource -confirm-license ^
-debug ^
-no-use-gold-linker ^
%QT_SKIPS% ^
-nomake tests -nomake examples ^
-no-gcc-sysroot ^
-opengles3 ^
-c++std c++14 ^
-ohos-arch arm64-v8a ^
-Wall -Wno-switch
Conclua com:
mingw32-make -j8
mingw32-make install
Resultado Final
Após a conclusão dos processos, os diretórios qt-5.12.12-ohos-x86_64 e qt-5.12.12-ohos-aarch64 conterão as bibliotecas Qt compiladas e prontas para uso em projetos OpenHarmony. Essas instalações podem ser referenciadas por IDEs ou ferramentas de build para desenvolvimento de interfaces gráficas nativas.