크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.
컴파일된 SDL 라이브러리를 그냥 가져다 쓰는것도 좋지만..

몇몇 충돌이나.. 문제를 해결하기 위해선

소스를 수정해다가 직접 컴파일 해서 쓰는법 밖엔없다..
중요한 사실은 컴파일 하는데 무척 애먹어버렸다는...
필요한게 뭐그리 많은지;;

여튼 시작해봅니다.

우선 JDK가 설치되어있어야 하는데 이것은
http://java.sun.com/javase/downloads/index.jsp
여기있는 최신버젼을 가져다 써도 됩니다..

http://sdljava.sourceforge.net/download_sdljava.html
여기에 있는 링크된 것들을 다운받는다.
단!링크를 충분히 따라가서 Source라고 써있는것을 받도록 하자..

이중 SDL x.x.x 요놈은 다른것들을 컴파일하는데 필요한
 SDL.lib SDL-main.lib 이런것들을 생성하므로..
제일 먼저 컴파일 해야된다.


헌데 vc6으로 계속 해봤는데 안되더라 .. 더군다나..

Vc9(2008)로도 해봤는데 에러가 뜨면서 안되더라..
(다수의 경고 포함 -_-;;)

결국 삽질중에 알아낸것은..

Vc2005 Express플랫폼 SDK + DirectX SDK
이 조합으로 가야하더라-_-;;
플랫폼 SDK를 깔지 않으면.. Windows.h 컴파일 에러 발생!
DirectX SDK를 깔지 않으면.. 컴파일 도중 어떤 헤더 파일 에러 발생이다..-_-;;


Vc2005 Ex는 무료버젼이며 현재 2008 Ex도 나와있다..

웹인스톨 설치..
(등록을 하자.. 등록 안하면 30일밖에 못쓴다.. 메일주소 쓰고 몇몇 정보만 쓰면
 무료로 시리얼 증정 이다..)



플랫폼 SDK는 요주소로 가자..
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
요놈은 웹인스톨말고 이미지 파일로 되잇는걸 찾아서 받는다..
용량이 1.3G 정도 된다-_-


설치가 완료 되었으면..


옵션 대화 상자의 프로젝트 및 솔루션 섹션에서 Visual C++ 디렉터리를 업데이트한다.
해당 하위 구역에 다음 경로를 추가합니다
실행 파일: C:\Program Files\Microsoft Platform SDK\Bin
IInclude 파일: C:\Program Files\Microsoft Platform SDK\include
라이브러리 파일: C:\Program Files\Microsoft Platform SDK\lib

그림처럼 추가하면 될것이다.. 물론 3가지 항목에 다 저렇게 써준다..

Visual C++ Express에서 Win32 템플릿이 작동하게 하려면
corewin_express.vsprops 파일
(위치 - C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults)
파일을 텍스트 편집기로 열어서
AdditionalDependencies="kernel32.lib"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib" 로 변경해야 합니다.

이제 컴파일 한번 해볼라 치면....

Visual C++ Express의 Win32 응용 프로그램 마법사에서 Win32 Windows 응용 프로그램 유형이 비활성화되어 있다-_-;;;;;

이 유형을 활성화하려면
“%ProgramFiles%\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033\" 폴더의 AppSettings.htm 파일을 텍스트 편집기를 사용하여

라인 441 - 444 앞에 //를 삽입하여 주석으로 처리합니다.
// WIN_APP.disabled = true;
// WIN_APP_LABEL.disabled = true;
// DLL_APP.disabled = true;
// DLL_APP_LABEL.disabled = true;

아마 이렇게 까지 하고 나면 기운 빠질것이다..
하지만 아직 Dx SDK가 남았다.

난 Microsoft DirectX 9.0 SDK Update (Summer 2004) 라는놈을 썼다..
용량은 한 230M 정도 된다.
http://www.microsoft.com/downloads/details.aspx?FamilyID=fd044a42-9912-42a3-9a9e-d857199f888e&DisplayLang=en

다운받았으면 설치하고..

옵션 대화 상자의 프로젝트 및 솔루션 섹션에서 Visual C++ 디렉터리를 업데이트한다.
해당 하위 구역에 다음 경로를 추가합니다
실행 파일: 설치된 DirectX sdk디렉터리\Bin
IInclude 파일: 설치된 DirectX sdk디렉터리\include
라이브러리 파일: 설치된 DirectX sdk디렉터리\lib

이렇게하면.. vc2005에서 SDL 소스컴파일을 위한 준비가 끝났다..

이제 SDL 소스파일을 열고.. 프로젝트로 불러와서 하나하나 컴파일하면된다..
SDL x.x.x는 컴파일 하고 적절한 위치에 옮긴뒤

IInclude 파일: 컴파일된 SDL 디렉터리\include
라이브러리 파일: 컴파일된 SDL 디렉터리\lib

저렇게 프로젝트에 적절하게 추가시켜주면
앞으로 컴파일할 SDL 관련 라이브러리는
에러가 거의 발생하지 않을것이다.

만약 존재한다면 남은 몇몇 에러는 손으로 잡는거다~

이제 컴파일 ㄱㄱ싱~
이제 입맛대로 쓰는거다!
저작자 표시 비영리 변경 금지

댓글을 달아 주세요

  1. BlogIcon Nazuki  댓글주소  수정/삭제  댓글쓰기

    SDL이 뭐져

    2009/07/05 17:11
    • BlogIcon K-kun 2009/07/05 19:00  댓글주소  수정/삭제

      그냥 말그대롭 Simple DirectMedia Layer.
      2d 게임엔진..
      그래픽 뿌려주고.. 사운드 내주고.. 그런거임~ 'ㅁ';;

1 2 3 4 5  ... 257 

글 보관함

카운터

Total : 164,789 / Today : 114 / Yesterday : 410
get rsstistory!