История изменений
Исправление hateyoufeel, (текущая версия) :
Какими библиотеками? Посмотри на какой нибудь TDM-GCC, там компилятор и основные утилиты, библиотеки типа SDL ты можешь уже собрать к своем приложению сам. Clang же тоже не тащит за собой arm32,arm64,riscv,mips версии всех библиотек мира.
Окей, да. Мы тут две отдельные проблемы обсуждаем:
- GCC сосёт;
- Кросскомпиляция требует адекватного управления пакетами в префиксе.
Второе, кстати, решается в пару строк в Nix:
let
pkgs = (import <nixpkgs> {}).pkgsCross.aarch64-multiplatform;
in
pkgs.pkgsStatic.callPackage ({ mkShell, zlib, pkg-config, file }: mkShell {
# these tools run on the build platform, but are configured to target the host platform
nativeBuildInputs = [ pkg-config file ];
# libraries needed for the host platform
buildInputs = [ zlib ];
}) {}
А дальше можно запустить nix-shell
и собирать в нём всё под целевую платформу. Ляпота! Никаких портянок на баше.
Исходная версия hateyoufeel, :
Какими библиотеками? Посмотри на какой нибудь TDM-GCC, там компилятор и основные утилиты, библиотеки типа SDL ты можешь уже собрать к своем приложению сам. Clang же тоже не тащит за собой arm32,arm64,riscv,mips версии всех библиотек мира.
Окей, да. Мы тут две отдельные проблемы обсуждаем:
- GCC сосёт;
- Кросскомпиляция требует адекватного управления пакетами в префиксе.
Второе, кстати, решается в пару строк в Nix:
let
pkgs = (import <nixpkgs> {}).pkgsCross.aarch64-multiplatform;
in
pkgs.pkgsStatic.callPackage ({ mkShell, zlib, pkg-config, file }: mkShell {
# these tools run on the build platform, but are configured to target the host platform
nativeBuildInputs = [ pkg-config file ];
# libraries needed for the host platform
buildInputs = [ zlib ];
}) {}
А дальше можно запустить nix-shell
и собирать в нём всё под целевую платформу. Ляпота! Никаких портянок на баше.