gpt4 book ai didi

c++ - 错误 : invalid instruction suffix for `push'

转载 作者:行者123 更新时间:2023-11-30 02:51:59 25 4
gpt4 key购买 nike

我在编译程序时遇到了问题。我不确定这些是什么意思,如果有人能提供帮助,我将不胜感激。

C:\Users\Joshua\Documents\GitHub\Zeus-TSO\_deps\libmpg123\dct64_sse.S: Assembler
messages:
C:\Users\Joshua\Documents\GitHub\Zeus-TSO\_deps\libmpg123\dct64_sse.S:41: Error:
invalid instruction suffix for `push'
C:\Users\Joshua\Documents\GitHub\Zeus-TSO\_deps\libmpg123\dct64_sse.S:46: Error:
invalid instruction suffix for `push'
C:\Users\Joshua\Documents\GitHub\Zeus-TSO\_deps\libmpg123\dct64_sse.S:449: Error: invalid instruction suffix for `pop'
C:\Users\Joshua\Documents\GitHub\Zeus-TSO\_deps\libmpg123\dct64_sse.S:451: Error: invalid instruction suffix for `pop'
_deps\libmpg123\CMakeFiles\libmpg123_static.dir\build.make:378: recipe for targe
t '_deps/libmpg123/CMakeFiles/libmpg123_static.dir/dct64_sse.S.obj' failed
mingw32-make[2]: [_deps/libmpg123/CMakeFiles/libmpg123_static.dir/dct64_sse.
S.obj] Error 1
CMakeFiles\Makefile2:225: recipe for target '_deps/libmpg123/CMakeFiles/libmpg12
3_static.dir/all' failed
mingw32-make[1]: [_deps/libmpg123/CMakeFiles/libmpg123_static.dir/all] Error
2
Makefile:74: recipe for target 'all' failed
mingw32-make: [all] Error 2

最佳答案

看来您正在尝试使用 64 位汇编程序构建 32 位汇编代码。

你有两个选择:

  1. 使用32位汇编器,例如利用--32选项;
  2. 通过替换 64 位(扩展)寄存器(例如 %rax)来更改代码,而不是 %eax 等与 一起使用的 32 位寄存器>push/pop 指令。

由于构建系统似乎是 CMake,我建议您引用此 manual 关于如何在 CMake 中为各种汇编语言配置构建。

你可以试试:

set(CMAKE_ASM_FLAGS "--32")

但我还没有测试过。

关于c++ - 错误 : invalid instruction suffix for `push' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19346667/

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