在windows中尝试从obj生成exe时,无法识别文件格式



我试图从asm文件构建一个exe。asm文件如下所示:

global main
extern puts
section .data
msg:
db "Hello, world!",10,0
section .text
main:
sub     rsp, 28h
mov     rcx, msg
call    puts
add     rsp, 28h
ret

然后我使用NASM组装它,并尝试使用GCC将其连接起来。但它显示了这个错误。

> nasm -fwin64 asmtest.asm
> gcc asmtest.obj
asmtest.obj: file not recognized: File format not recognized
collect2.exe: error: ld returned 1 exit status

我不知道发生了什么。我的NASM版本2.14.02和GCC版本8.1.0。我已经遵循了这个教程(在底部(。我在我的Windows 10 64位计算机上执行此操作。

我也看到过这个问题,但对我没有帮助

您已经为32位二进制文件安装了mingw。您需要安装一个配置为生成64位二进制文件的mingw版本来编译和/或链接64位二进制程序。

相关内容

  • 没有找到相关文章

最新更新