C++ 错误:“push';
我在编译程序时遇到了一些问题。我不确定这些是什么意思,如果有人能帮助我,我将不胜感激C++ 错误:“push';,c++,assembly,mingw,nasm,C++,Assembly,Mingw,Nasm,我在编译程序时遇到了一些问题。我不确定这些是什么意思,如果有人能帮助我,我将不胜感激 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 `p
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位汇编代码 您有两种选择:
--32
选项李>
%rax
)来更改代码,而不是与推送/
指令一起使用的32位寄存器(例如%eax
)
set(CMAKE_ASM_FLAGS "--32")
但是我还没有测试它。看起来您正在尝试使用64位汇编程序构建32位汇编代码 您有两种选择:
--32
选项李>
%rax
)来更改代码,而不是与推送/
指令一起使用的32位寄存器(例如%eax
)
set(CMAKE_ASM_FLAGS "--32")
但是我还没有测试过它。如果你发布了它所引用的代码——至少是第41行、第46行、第449行和第451行——最好是它周围的几行……如果你发布了它所引用的代码——至少是第41行、第46行,那么它的可能副本将非常有帮助,449和451-最好是它周围的几行…可能重复的我不确定在哪里添加--32选项。我在任何地方都找不到一个能让我为汇编程序定义选项的文件。更新了,看一看。出于好奇,我将Mingw改为32位,并用32位编译。我们现在又回到了不兼容错误。您能否提供更多有关编译内容和希望实现什么的信息,否则很难了解您面临的问题类型,甚至更难提出任何解决方案。我不确定在何处添加--32选项。我在任何地方都找不到一个能让我为汇编程序定义选项的文件。更新了,看一看。出于好奇,我将Mingw改为32位,并用32位编译。我们现在回到不兼容错误。您能否提供更多信息,说明您正在编译什么以及您希望实现什么,否则很难了解您面临的问题类型,甚至更难提出任何解决方案。