我正在使用Fedora 36通过VirtualBox,并试图编译一些代码的Cortex-A53从developer.arm.com的工具链
我已经下载了存档,在Downloads文件夹中解包,然后调用GCC,就像网站上的发布说明中所说的那样。
编译器成功地在我的代码中找到了VLA,并给出了修复它们的行号。所以它得到了源代码没有问题。我在代码中修复了VLA,然后编译成功,没有警告或错误消息,所以我去了一个可执行文件。
但是,由于某种原因,没有出现任何确切的名字。
我使用这个调用命令来编译:
/home/User/Downloads/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc my_code.c -o compiled/my_prog
字符串
我做错了什么?
1条答案
按热度按时间kcugc4gi1#
好吧,解决方案是相当愚蠢的,但由于一些我不太理解的原因,
aarch64-none-linux-gnu-gcc
成功地创建了一个可执行文件,而arm-none-linux-gnueabihf-gcc
-没有。这是一个有点混乱编译的东西ARM芯片的工具,其中没有
arm
在其名称。如果有人能澄清所有这些东西之间的差异,我想,这将是感激的。(至少对我来说)
我不能这样做,由于缺乏知识,也许我的可执行文件甚至不会运行,由于其他错误,我不小心犯了。
编辑:Exec成功运行,所以
aarch64-none-linux-gnu-gcc
肯定是为硬浮点芯片编译的,因为Cortex-A53就是这样的芯片。我不知道为什么有另一个明确声明-gnueabihf-
代表硬浮点数。