aarch64-poky-linux-g++: error: unrecognized command-line option ‘-m64’
时间: 2024-01-12 13:04:48 浏览: 87
这个错误提示是因为在使用aarch64-poky-linux-g++编译时,使用了-m64选项,但是该编译器不支持该选项。-m64是一个x86_64架构的选项,而aarch64是一个ARM架构的选项。
如果你要编译一个ARM架构的程序,应该使用-aarch64-poky-linux-g++编译器,并且不要使用-m64选项。如果你要编译一个x86_64架构的程序,应该使用一个支持-m64选项的编译器,比如gcc或clang。
你可以检查一下你的编译命令,看看是否有-m64选项,如果有,就把它去掉,然后重新编译。
相关问题
Qt安装aarch64-poky-linux
要在aarch64-poky-linux上安装Qt,可以按照以下步骤进行操作:
1. 下载Qt for Device Creation安装包,该安装包包含了Qt Creator和交叉编译器等工具。可以从Qt官网下载合适版本的安装包。
2. 解压安装包到指定目录下,例如/home/user/Qt。
3. 打开终端,进入Qt安装目录下的Tools目录,执行以下命令:
```
./qtcreator-device-linux-aarch64-opensource-xxx.bin
```
其中,xxx为安装包版本号。执行该命令后,会提示安装路径等信息,按照提示进行操作即可。
4. 安装完成后,在Qt Creator中配置交叉编译器和调试器。打开Qt Creator,点击菜单栏中的“工具”-“选项”,在弹出的对话框中选择“构建和运行”,选择“Kits”选项卡,在“设备”下拉列表中选择“通用Linux设备”,点击“添加”按钮,配置交叉编译器和调试器。
配置交叉编译器时,需要指定交叉编译器的路径和名称,例如:
```
/home/user/poky/sysroots/aarch64-poky-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++
```
配置调试器时,需要指定调试器的路径和名称,例如:
```
/home/user/poky/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gdb
```
5. 在Qt Creator中创建项目,在项目属性中选择刚刚配置的交叉编译器和调试器,即可开始在aarch64-poky-linux上开发Qt应用程序了。
在make prepare时报错aarch64-none-linux-gnu-gcc: error: unrecognized argument in option '-mcmodel=kernel' aarch64-none-linux-gnu-gcc: note: valid arguments to '-mcmodel=' are: large small tiny aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-sse'; did you mean '-fno-dse'? aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-mmx' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-sse2' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-3dnow' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-m64' aarch64-none-linux-gnu-gcc: error: unrecognized command-line option '-mno-red-zone' scripts/Makefile.build:273: recipe for target 'scripts/mod/empty.o' failed具体如何解决
这个错误可能是由于编译器版本不兼容或编译选项有误导致的。您可以尝试以下步骤来解决该问题:
1. 确认您使用的是正确版本的编译器。您可以尝试更新编译器或使用另一个版本的编译器。
2. 检查编译选项。在Makefile中,可能有一些选项需要根据您的编译器版本进行调整。 您可以尝试删除一些选项,或者添加一些适当的选项,例如:
-mcmodel=large
-mno-sse -fno-dse
-mno-mmx
-mno-sse2
-mno-3dnow
-mno-red-zone
3. 检查您的内核配置。您可以尝试禁用CONFIG_STRICT_KERNEL_RWX选项,并重新编译内核。
希望这些解决方案可以帮助您解决问题。