gpt4 book ai didi

assembly - 使用 GoLink 链接 MinGW .a 静态 C 库

转载 作者:行者123 更新时间:2023-12-05 02:27:23 29 4
gpt4 key购买 nike

我试图用 NASM 和 GoLink 制作一个 SDL2 程序只是为了好玩,但我无法将 SDL2main.a 和 SDL2 链接到我的可执行文件。我在 win64 架构上。

我的主.asm


[bits 64]

extern ExitProcess

extern SDL_Init
extern SDL_Quit


SDL_INIT_VIDEO equ 0x00000020

section .text

_start:
mov rcx, SDL_INIT_VIDEO
call SDL_Init

call SDL_Quit

xor rcx, rcx
call ExitProcess

这就是我构建 .exe 的方式:

nasm -f win64 main.asm -o main.obj
.\GoLink.exe /console /entry _start /fo prog.exe main.obj kernel32.dll

我收到以下错误:

GoLink.Exe Version 1.0.4.1  Copyright Jeremy Gordon 2002-2022   info@goprog.com

Error!
The following symbols were not defined in the object file or files:-
SDL_Init
SDL_Quit
Output file not made

如果有帮助,我的静态库位于 ./lib 文件夹中。

最佳答案

GoLink不理解基于 MinGW 的工具链创建的 .a 静态库文件格式。如果您打算使用 GoLink,则需要获取与 Microsoft 工具和链接器配合使用的 SDL2 库的副本。

在您的情况下,您需要在其 download page 上使用 Visual C++ 的 SDL2 开发库而不是您当前使用的 MinGW 库。

关于assembly - 使用 GoLink 链接 MinGW .a 静态 C 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73260720/

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