arm-linux-gnueabihf-gcc: error: missing argument to ‘-march=’
时间: 2024-05-26 21:15:35 浏览: 555
这个错误通常是由于命令行中缺失了 -march= 参数引起的。 -march= 参数应该指定您要编译的目标处理器架构。例如,如果您正在编译针对 ARMv7 架构的代码,则应将 -march= 参数设置为 armv7-a。
您可以检查您的命令行以查看是否缺少 -march= 参数。如果确实如此,只需将其添加到命令行中即可。如果您不确定应该使用哪个参数,请查阅您的处理器架构和编译器文档以获取更多信息。
相关问题
arm-linux-gnueabihf-addr2line arm-linux-gnueabihf-gcc-9 arm-linux-gnueabihf-gcov-dump arm-linux-gnueabihf-objcopy arm-linux-gnueabihf-ar arm-linux-gnueabihf-gcc-ar arm-linux-gnueabihf-gcov-dump-9 arm-linux-gnueabihf-objdump arm-linux-gnueabihf-as arm-linux-gnueabihf-gcc-ar-9 arm-linux-gnueabihf-gcov-tool arm-linux-gnueabihf-ranlib arm-linux-gnueabihf-c++filt arm-linux-gnueabihf-gcc-nm arm-linux-gnueabihf-gcov-tool-9 arm-linux-gnueabihf-readelf arm-linux-gnueabihf-cpp arm-linux-gnueabihf-gcc-nm-9 arm-linux-gnueabihf-gprof arm-linux-gnueabihf-size arm-linux-gnueabihf-cpp-9 arm-linux-gnueabihf-gcc-ranlib arm-linux-gnueabihf-ld arm-linux-gnueabihf-strings arm-linux-gnueabihf-dwp arm-linux-gnueabihf-gcc-ranlib-9 arm-linux-gnueabihf-ld.bfd arm-linux-gnueabihf-strip arm-linux-gnueabihf-elfedit arm-linux-gnueabihf-gcov arm-linux-gnueabihf-ld.gold arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcov-9 arm-linux-gnueabihf-nm
这是arm-linux-gnueabihf交叉编译工具链中的一些常用工具,包括:
- addr2line:将地址转换成文件名和行号。
- ar:用于创建和修改静态库文件。
- as:汇编器。
- c++filt:将C++符号转换为人类可读的形式。
- cpp:C预处理器。
- dwp:用于处理多个ELF文件的链接器。
- elfedit:用于编辑ELF文件头和程序头表的工具。
- gcc:GNU C编译器。
- gcc-ar:用于创建和修改静态库文件的GNU C编译器。
- gcc-nm:列出目标文件中的符号。
- gcc-ranlib:向静态库文件中添加索引。
- gcov:代码覆盖率工具。
- gcov-dump:将gcov文件转换为人类可读的形式。
- gcov-tool:用于处理gcov数据文件的工具。
- gprof:分析程序的性能工具。
- ld:链接器。
- ld.bfd:使用BFD库的链接器。
- ld.gold:使用Gold库的链接器。
- nm:列出目标文件中的符号。
- objcopy:用于复制和转换目标文件的工具。
- objdump:反汇编器。
- ranlib:向静态库文件中添加索引。
- readelf:显示ELF文件的信息。
- size:显示目标文件的大小。
- strings:从目标文件中提取可打印的字符串。
- strip:从目标文件中删除符号表、调试信息等。
您可以根据需要选择适当的工具进行交叉编译和调试。
在mx6ull编译uboot时报错arm-linux-gnueabihf-gcc: error: missing argument to ‘-march=’
这个错误是由于你在编译 U-Boot 时使用的交叉编译器版本与所选的 CPU 架构不兼容所导致的。
你需要检查编译器版本和所选的 CPU 架构是否匹配。例如,如果你的 CPU 架构是 ARM Cortex-A7,则应该使用 arm-linux-gnueabihf-gcc,而不是使用其他版本的交叉编译器。
你可以尝试在编译 U-Boot 时加上 -march=armv7-a 参数,这样编译器就可以根据指定的 CPU 架构来生成相应的代码,例如:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_evk_defconfig && make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 -march=armv7-a。
如果还有其他问题,请提供更多的上下文信息和错误日志,以便我更好地帮助你解决问题。
阅读全文