{{{1}}}: Компиляция

Материал из HOMEd Wiki
HOMEd > [[{{{1}}}]] > [[{{{1}}}/Installation|Установка]] > Компиляция

Компиляторы

Данные компиляторы GCC предназначены для работы в среде Linux на процессорах с архитектурой amd64.

файл целевая платформа
gcc-aarch64-none-linux-gnu-10.2.0.tar.xz Linux (aarch64)
gcc-arm-linux-gnuebihf-9.4.0.tar.xz Linux (armhf)
gcc-aarch64_generic-openwrt-linux-8.4.0-musl.tar.xz OpenWRT (aarch64_generic)
gcc-arm_cortex-a7_neon-vfpv4-openwrt-linux-8.4.0-musl.tar.xz OpenWRT (arm_cortex-a7_neon-vfpv4)
gcc-arm_cortex-a9_neon-openwrt-linux-8.4.0-musl.tar.xz OpenWRT (arm_cortex-a9_neon)
gcc-mips_24kc-openwrt-linux-8.4.0-musl.tar.xz OpenWRT (mips_24kc)
gcc-mipsel_24kc-openwrt-linux-8.4.0-musl.tar.xz OpenWRT (mipsel_24kc)
gcc-aarch64-openwrt-linux-gnu-8.4.0.tar.xz Entware (aarch64)
gcc-mips-openwrt-linux-gnu-8.4.0.tar.xz Entware (mips)
gcc-mipsel-openwrt-linux-gnu-8.4.0.tar.xz Entware (mipsel)

Готовые сборки Qt 5

Сборки Qt 5 предназначены для работы в среде Linux на процессорах с архитектурой amd64.

файл целевая платформа
qt-aarch64-linux-gnu-5.15.4-shared.tar.xz Linux (aarch64)
qt-amd64-linux-5.15.4-shared.tar.xz Linux (amd64)
qt-arm-linux-gnueabihf-5.15.4-shared.tar.xz Linux (armhf)
qt-aarch64_generic-openwrt-linux-5.15.4-shared.tar.xz OpenWRT (aarch64_generic)
qt-arm_cortex-a7_neon-vfpv4-openwrt-linux-5.15.4-shared.tar.xz OpenWRT (arm_cortex-a7_neon-vfpv4)
qt-arm_cortex-a9_neon-openwrt-linux-5.15.4-shared.tar.xz OpenWRT (arm_cortex-a9_neon)
qt-mips_24kc-openwrt-linux-5.15.4-shared.tar.xz OpenWRT (mips_24kc)
qt-mipsel_24kc-openwrt-linux-5.15.4-shared.tar.xz OpenWRT (mipsel_24kc)
qt-aarch64-openwrt-linux-gnu-5.15.4-shared.tar.xz Entware (aarch64)
qt-mips-openwrt-linux-gnu-5.15.4-shared.tar.xz Entware (mips)
qt-mipsel-openwrt-linux-gnu-5.15.4-shared.tar.xz Entware (mipsel)

Компиляция Qt 5

Минимальный набор исходников Qt 5 для сборки приложений HOMEd, собранный из официального пакета qt-everywhere-opensource-src-5.15.4.tar.xz, включающий в себя модуль qtmqtt и несколько исправлений:


Подготовка к компиляции:

$ ./configure -v -opensource -confirm-license -release -static -optimize-size -prefix /my/qt/location -xplatform my-qt-target -c++std c++17 -no-gui -no-widgets -no-opengl -no-sql-sqlite2 -no-sql-psql -no-sql-mysql -no-sql-odbc -no-sql-oci -no-sql-ibase -no-sql-db2 -no-freetype -no-harfbuzz -no-libjpeg -no-libpng -no-zlib -nomake examples -nomake tests

-static - статическая линковка, для динамической линковки нужно заменить на -shared
-prefix - путь для установки после компиляции
-xplatform - целевая платформа

xplatform целевая платформа
linux-aarch64-gnu-g++ Linux (aarch64)
linux-arm-gnueabihf-g++ Linux (armhf)
openwrt-aarch64-linux-g++ OpenWRT (aarch64)
openwrt-arm-linux-g++ OpenWRT (arm)
openwrt-i486-linux-g++ OpenWRT (i486)
openwrt-mips-linux-g++ OpenWRT (mips)
openwrt-mipsel-linux-g++ OpenWRT (mipsel)
ndms-aarch64-linux-g++ Keenetic NDMS (aarch64)
ndms-mips-linux-g++ Keenetic NDMS (mips)
ndms-mipsel-linux-g++ Keenetic NDMS (mipsel)
...

Сборка и установка:

$ make -j4
$ make install

Компиляция HOMEd {{{1}}}

$ mkdir homed
$ git clone https://github.com/u236/homed-service-common.git homed/homed-common
$ git clone https://github.com/u236/{{{3}}}.git homed/{{{2}}}
$ cd homed/{{{2}}}
$ /my/qt/location/bin/qmake {{{2}}}.pro
$ make -j $(nproc)

[[Category:{{{1}}}]]