(test.asm) : 나는 NASM로 조립보다는 MinGW 32 "`에 정의되지 않은 참조 ExitProcess 4 '@"나는 작은 어셈블러 프로그램을 작성 학습 목적
global _main
extern [email protected]
section .text
_main:
mov ebx,0
push ebx
call [email protected]
(test.obj입니다) :
이제nasm -f win32 test.asm
내가 "휴대용 실행"에 연결하려고 (윈도우 10 (32) 비트) :
ld test.obj
하지만 난 항상이 오류 메시지가 점점 오전 :
undefined reference to `[email protected]'
지금까지 내가 내 프로그램은 "Kernel32.dll에서"연결되지 않는다는 뜻이 메시지를 이해한다. 그러나 "ld"은 "Kernel32.dll"과 자동으로 연결되므로 일부 플래그를 추가 할 필요가 없습니다. 내가이 플래그 추가 게다가 경우 : 나는 다음과 같은 오류 메시지가 무엇입니까
ld test.obj -lkernel32
을 :
cannot find -lkernel32
나는 어쩌면 누군가가 뭐가 잘못 됐는지 말해 줄 수 바보 같은 실수를했다 확신합니다.
편집 :
것은 내가 사용하고있는 경우 "GCC"대신 작품의 : 지금은 "GCC는"알고 왜 궁금 그래서
gcc main.obj -nostdlib -lkernel32
"-lkernel32" 및 "ld"아닙니다.
'gcc' 명령 줄에'-v' 옵션을 추가하면'ld'가 어떻게 호출되는지 알 수 있습니다. – Jester
감사합니다. 그게 큰 힌트입니다. – Michael
kernel32.lib은 어디에 있습니까? '-L'피연산자를 추가하려고 시도 했습니까? –
fuz