폴더 구조:
- test.c : sample 소스 코드
- build.bat : build 스크립트
- include/ : SDL header 파일들 (SDL.h 등)
- lib/x64/SDL.lib
- lib/x64/SDLmain.lib
- lib/x86 /SDL.lib
- lib/x86/SDLmain.lib
- SDL.dll : 프로그램 실행시 필요한 dll 파일
test.c
#include <stdio.h>
#include <SDL.h>
int main(int argc, char * args[]) {
printf("Hello SDL\n");
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Quit();
}
build.bat
@echo off
call "C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
cl /Iinclude /MDd /O2 /EHsc /Zi /DEBUG:yes test.c /link lib\x86\SDL.lib\ lib\x86\SDLmain.lib /SUBSYSTEM:CONSOLE /NODEFAULTLIB:msvcrt.lib
설명:
call "C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"
- 개발 환경 설정 (이걸 실행해 줘야 cl 컴파일러를 사용할 수 있다)
- msvc 가 설치된 경로가 다르면 변경
cl /Iinclude /MDd /O2 /EHsc /Zi /DEBUG:yes main.c list.c cmd.c /link lib\x86\SDL.lib\ lib\x86\SDLmain.lib /SUBSYSTEM:CONSOLE /NODEFAULTLIB:msvcrt.lib
- /Iinclude : include 폴더를 include path 에 추가
- /MDd : Multithread-specific and DLL-specific 이라고 하는데 잘 모름 (참고 - http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx)
- /O2 : Optimize Code (참고 - http://msdn.microsoft.com/en-us/library/k1ack8f1.aspx)
- /EHsc :Exception Handling model (참고 - http://msdn.microsoft.com/en-us/library/1deeycx5.aspx)
- /DEBUG:yes : Generate debug info (참고 - http://msdn.microsoft.com/en-us/library/xe4t6fc1.aspx)
- /link : linker 옵션 (lib 파일들을 나열)
- /SUBSYSTEM:CONSOLE : subsystem (참고 - http://msdn.microsoft.com/en-us/library/fcc1zstk.aspx)
- /NODEFAULTLIB:msvcrt.lib : Ignore libraries (참고 - http://msdn.microsoft.com/en-us/library/3tz4da4a.aspx)
댓글 없음:
댓글 쓰기