gpt4 book ai didi

c++ - 为 ARM 架构编译我的 C++ 代码

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:02:04 33 4
gpt4 key购买 nike

我是一名 Java 开发人员。我有一些 C++ 代码可以进行一些系统调用。这段代码是使用 GCC 在 Intel 32 位平台上编译的(我有 make 文件),它在基于 Intel 的常规 32 位 linux 机器上运行良好。现在我需要在 Marvell ARM 处理器上运行的 linux 操作系统上运行它。当我在 java 中加载共享对象时,出现以下错误。

无法打开共享对象文件:没有那个文件或目录(可能原因:无法在ARM位平台上加载IA 32位.so)

请告诉我如何解决这个问题。我查看了 GCC 选项,发现了一个指定架构的选项 (-march=armv5),但我无法使用该选项进行编译。

提前致谢。

最佳答案

您需要的不仅仅是一个开关,您还需要一个交叉编译器。您可以自己制作,但可能最简单的方法是:

  • 找到适合您的开发板的开发工具。它可能带有一个包含交叉编译工具链的开发工具包

  • 如果你没有这些,你可以尝试安装一个像CodeSourcery免费提供的预编译交叉编译器

然后你必须在你的路径中提供你的工具链的位置(寻找像 arm-none-linux-gnueabi-gcc 这样的东西)。

交叉编译简单的项目很容易,只需覆盖 Makefile 中的 CC 变量即可:

CROSS = arm-none-linux-gnueabi-
CC = $(CROSS)gcc
LD = $(CROSS)ld

关于c++ - 为 ARM 架构编译我的 C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4740413/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com