http://stackoverflow.com/a/23528529/4183595 를 참조했습니다.
리눅스 진영의 오픈 소스 라이브러리를 빌드 하는 방법은 리눅스 쪽에선 간단하겠지만 윈도우 환경에선 의존성 문제 때문에 Visual Studio 같은 IDE에서 빌드하려면 정말 불편하고 까탈스럽습니다.
그 동안 빌드를 하지 못해 다른 사람이 미리 컴파일해놓은 걸 쓰고 있었는데요, 최신 버전으로 올라가고 싶어 위의 링크에 있는 방법을 마지막으로 시도해봤는데 결국 되네요.
준비 과정은 아래와 같습니다.
- [이곳]에서 MinGW 인스톨러를 받아 실행하여 MinGW를 설치해주세요.
- Win+Pause/Break 키를 누르고 고급 시스템 설정->환경 변수 로 들어갑니다. 그리고 시스템 변수 중 Path를 편집하여 “C:\MinGW\bin”를 추가해주세요.
- [이곳]에서 자기가 원하는 버전의 libxml을 받습니다. (libxml2-2.9.3.tar.gz 처럼 된 걸 받아주시면 됩니다.)
- 압축을 풀고 win32 폴더로 갑니다.
- 해당 폴더에서 명령 창을 실행한 후 아래 스크립트를 입력해주세요.
cscript configure.js threads:no static:yes compiler:mingw iconv:no prefix=임의의 이름 include=C:\MinGW\include lib=C:\MinGW\lib debug=yes
릴리즈 모드로 빌드하고 싶으면 debug=no로 입력해주시면 됩니다.
mingw32-make -f Makefile.mingw
위의 명령까지 실행하고 나면 win32 폴더에 “bin.mingw” 폴더가 생겼을 겁니다. 들어가보면 libxml.a, libxml.dll, libxml.lib를 포함한 여러 가지 테스트 실행파일들이 생겼을 겁니다. 이제 이걸 이용하면 됩니다.
참고로 동적으로 이용할려면 libxml.dll과 libxml.lib를 링크해주면 되고 정적으로 이용할려면 libxml.a의 확장자를 .lib로 바꿔서 사용하면 됩니다.
만약 libiconv가 없다는 등의 에러가 뜨면 minGW Installation Manager를 실행해 mingw32-libiconv를 설치해주세요.