我正在尝试使用NASM和GoLink制作一个SDL2程序,只是为了好玩,但我无法将SDL2main.a和SDL2链接到我的可执行文件中。我的架构是win64。
我的main.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文件夹中。
.a
文件而不是.lib
文件。您从哪里获取您的SDL2? - Michael Petch