我正在尝试在Jetson Nano上编译C代码,并且在编译过程中遇到此错误。我尝试删除任何出现的“ m -64”,但似乎自动添加了它。这是cmd失败的地方: /usr/bin/gcc-7 -Wall -Wextra -Wconversion -pedantic -Wshadow -m64 -Wfatal-errors -O0 -g -o CMakeFiles/dir/testCCompiler.c.o -c /home/user/dir/CMakeFiles/CMakeTmp/testCCompiler.c
uname -a: Linux jetson-nano 4.9.140-tegra aarch64 aarch64 aarch64 GNU/Linux
gcc-7 -v: Using built-in specs.
COLLECT_GCC=gcc-7
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/7/lto-wrapper
Target: aarch64-linux-gnu
gcc version 7.4.0 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1)
CMAKE_C_COMPILER = gcc-7
CMAKE_CXX_COMPILER = g++-7
CXX_COMPILE_FLAGS = "-Wall -Werror -Wextra -Wnon-virtual-dtor -Wconversion -Wold-style-cast -pedantic -Wshadow"
C_COMPILE_FLAGS = "-Wall -Wextra -Wconversion -pedantic -Wshadow"
gcc-7:错误:无法识别的命令行选项“ -m64”
我相信您正在寻找-march=armv8-a(和朋友),而不是-m64。GCC arm64选件在手册的3.18.1 AArch64选件中可用。
Aarch64在基本规范中包括ASIMD,因此不需要额外的回转。ASIMD是“高级SIMD指令”,它是ARM在Aarch32和Aarch64体系结构上称之为NEON的东西。
如果要启用扩展名(如CRC或Crypto),则该选项应类似于-march=armv8.1-a+crc或-march=armv8.1-a+crypto或-march=armv8.1-a+crc+crypto。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。