cross-compilation

如何将 Linux 二进制文件从 AMD64 转换为 AARCH64 架构?
cross-compilation

如何将 Linux 二进制文件从 AMD64 转换为 AARCH64 架构?

我正在尝试将 Linux 二进制文件从 AMD64 转换为 AARCH64 架构,但我不知道该怎么做。我在网上搜索后发现,通常情况下,此类转换需要源代码。然而,当我查看提供的源代码时,我找不到对 AARCH64 架构的支持。 我尝试转换的文件是:Linux AMD64 二进制 以下是我一直参考的源代码:源代码 有人能指导我如何进行这种转换或建议其他方法吗?任何帮助都将不胜感激。谢谢! ...

Admin

添加多架构(i386)跨设备和运行时支持
cross-compilation

添加多架构(i386)跨设备和运行时支持

在 22.04.03 系统上我添加了 i386 架构支持: sudo dpkg --add-architecture i386 我可以看到 multiarch-support 已经安装: sudo apt list --installed multi* Listing... Done multiarch-support/now 2.27-3ubuntu1.5 amd64 [installed,local] 当我尝试执行 32 位程序时收到此错误: bash: ./awk: cannot execute binary file: Exec format e...

Admin

在 jammy 上使用 2 个架构时 libgdal.so
cross-compilation

在 jammy 上使用 2 个架构时 libgdal.so

我正在尝试在我的 amd64 机器 (22.04) 上为 arm64 和 amd64 构建/交叉构建 为此,我在我的计算机上安装了两个 arm64 库(我已经安装了 amd64) 似乎 libgdal.so 被 libgdal-dev:arm64 /usr/lib/libgdal.so 的安装覆盖了,现在是 arm64,它破坏了我的 amd64 构建。如果我再次安装 libgdal-dev,我会得到正确的 amd64 libgdal.so。 使用其他库时我没有遇到这个问题。例如 libgeos++-dev。 我做错了什么? ...

Admin

在 x64 机器上交叉编译 arm64 代码
cross-compilation

在 x64 机器上交叉编译 arm64 代码

我正在尝试在我的 intel x64 22.04 机器上交叉编译 arm64 代码。我安装了 g++-aarch64-linux-gnu 编译器,现在我可以编译类似“hello world”的应用程序了。 除此之外,我还需要 arm64 的开发库(libcurl4-openssl-dev 就是其中之一)。为此,我运行了: sudo dpkg --add-architecture arm64 进而: sudo apt update 我得到下面的错误。我做错了什么?当然,这个故障阻止我安装 libcurl4-openssl-dev:amd64 E: Fail...

Admin

如何在 Ubuntu 22.04 中的 amd64 设备上安装 arm64 开发库?
cross-compilation

如何在 Ubuntu 22.04 中的 amd64 设备上安装 arm64 开发库?

我正在尝试安装 ARM64 的开发库,以便我可以使用 Ubuntu 22.04 从我的设备交叉编译arm64软件amd64。我已经设法安装了软件包aarch64-linux-gnu,但我不知道如何安装arm64我需要的各种依赖项的版本。如何arm64在 Ubuntu 22.04 上安装开发库的变体? ...

Admin

moshudp 交叉编译
cross-compilation

moshudp 交叉编译

我有一块带有 mips64el 的 MIPS CPU 的主板和带有工具链的 buildRoot。当我尝试使用 rust 从 buildRoot 编译 moshudp 程序时,我得到了以下错误 $ source $BUILD_ROOT_PATH/buildroot/output/host/environment_setup $ cargo build --target mips64el-unknown-linux-gnuabi64 Compiling syn v1.0.91 error[E0463]: can't find crate for `std`...

Admin

如何安装“gcc-arm-linux-gnueabihf”特定版本?
cross-compilation

如何安装“gcc-arm-linux-gnueabihf”特定版本?

我在 x86 上执行交叉编译,目标平台是 armhf。当我运行命令时 apt-get install -y gcc-arm-linux* g++-arm-linux*,它会安装4.11.2.0版本和输出如下 g++-arm-linux-gnueabi is already the newest version (4:11.2.0-1ubuntu1). g++-arm-linux-gnueabihf is already the newest version (4:11.2.0-1ubuntu1). gcc-arm-linux-gnueabi is ...

Admin

为什么我不能安装两个架构版本的 libi2c-dev?
cross-compilation

为什么我不能安装两个架构版本的 libi2c-dev?

我在 64 位 ARM 架构上运行 Ubuntu 20.04。 我正在尝试构建一些链接libi2c(-li2c) 的代码。但是我希望能够同时构建本地架构和交叉编译(在本例中)armhf。我遇到的问题是,当我尝试安装库的外部架构版本时,apt 想要删除本地版本(反之亦然)。 $sudo apt install libi2c-dev:armhf --no-install-recommends Reading package lists... Done Building dependency tree Reading state information... D...

Admin

添加 xenial-updates 行
cross-compilation

添加 xenial-updates 行

这是一个后续问题交叉编译 armhf 并安装静态库 在接受的答案中最后提到了以下内容, 说明:多架构软件包需要在所有架构上安装相同的版本。因此,您应该拥有版本 229-4ubuntu21.4 的 libudev-dev:armhf,但您当前的存储库配置不包含此版本。因此,您应该在支持此版本的位置添加 xenial-updates 行。 我想知道我究竟该如何做? 因此,您应该在支持此版本的位置添加 xenial-updates 行。 我对此很陌生,因此带有示例的详细答案将会很有帮助。 更新 1(根据评论进行试验) 使用下面显示的 sources.lis...

Admin

在 20.10 arm64 机器上安装 anydesk armhf
cross-compilation

在 20.10 arm64 机器上安装 anydesk armhf

正在尝试在 Ubuntu 20.10 arm64 机器上安装任何 desk:arm-hf。 因为跨平台,我使用 dpkg 进行安装。 > > pi@pi-desktop:~/Downloads$ sudo dpkg --force architecture -i anydesk_6.0.1-1_armhf.deb Selecting previously unselected package > anydesk:armhf. (Reading database ... 136205 files and directories > c...

Admin

arm64 软件包未安装到 arm64 sysroot 中,因此 CMake 找不到它们
cross-compilation

arm64 软件包未安装到 arm64 sysroot 中,因此 CMake 找不到它们

我需要使用 CMake 交叉编译应用程序。我安装了工具链包和依赖项的 arm64 版本。看起来 sysroot 位于/usr/aarch64-linux-gnu,其中包含一些系统库和标头,但包库和标头最终位于 和/usr/lib/aarch64-linux-gnu中/usr/include/aarch64-linux-gnu。 现在,设置CMAKE_FIND_ROOT_PATH为/usr/aarch64-linux-gnu查找系统库,但找不到我安装的库。为什么软件包没有安装到 sysroot 中?我如何让 CMake 知道这一点? ...

Admin

构建旧 Linux 内核时出现的 GCC 问题
cross-compilation

构建旧 Linux 内核时出现的 GCC 问题

我正在尝试从为 ARM 编译的 Linux 内核源代码版本 2.6.37 开始构建。我需要这样做的原因与工作有关;我需要那个特定的版本。我可以毫无问题地为 ARM 构建最新版本的 Linux 内核。这是我的设置: 主机运行的是 macOS 10.15.6 在 VirtualBox 6.1.14 上运行 Ubuntu 20.04.1 下载这个内核压缩包 sudo apt-get install build-essential binutils-multiarch gcc-arm-linux-gnueabi make distclean make ARCH=a...

Admin

使用 openSSL 库为 ARM64 交叉编译 C++ 应用程序
cross-compilation

使用 openSSL 库为 ARM64 交叉编译 C++ 应用程序

我用 C++ 为 x86_64 制作了一个应用程序,它在 Ubuntu 上运行良好。 现在我想在运行 Ubuntu 的 arm64 主板上运行相同的应用程序。为此,我从硬件制造商的网站下载了一个交叉编译工具链。我正在主机(x86_64)上为目标机器(ARM64)编译源代码。 构建已完成cmake;但在编译过程中,编译停止并显示以下消息: fatal error: openssl/evp.h: No such file or directory #include < openssl/evp.h > ...

Admin

如何切换arm-linux-gnueabihf-gcc的版本?
cross-compilation

如何切换arm-linux-gnueabihf-gcc的版本?

我想使用 的第 5 版本arm-linux-gnueabihf-gcc。 所以我通过以下方式安装它: apt-get install gcc-5-arm-linux-gnueabihf 但是现在当我gcc --version这样做时它会告诉我它是版本 7。 我如何告诉它使用旧版本? 或者我必须完全卸载新版本? ...

Admin

如何在 Linux Ubuntu 上为 MacOS 创建 DMG 文件
cross-compilation

如何在 Linux Ubuntu 上为 MacOS 创建 DMG 文件

我在 Linux 上为 MacOS 交叉编译了一个程序,现在我想将该 MacOS 二进制文件转换为 MacOS 的 DMG 文件。 有没有办法将 Linux(Ubuntu)上的 MacOS 二进制文件转换为 MacOS 的 DMG 文件? ...

Admin