Windows에서 GEOS 3.5 빌드
이 글은 Windows 10 환경의 Visual Studio 2015을 기준으로 작성되었습니다.
GEOS는 JAVA JTS(Java Topology Suite)를 C++로 포팅한 라이브러리입니다. C/C++에서 벡터 데이터의 위상관계분석과 공간연산등에 사용되는 기하 처리 엔진입니다.
Windows 환경에서 GEOS를 빌드하려면 다음의 조건을 갖추어야합니다.
1. Visual Studio(VC++)
2. CMAKE 2.8 이상
※ CMake를 설치한 직후에는 시스템환경변수의 PATH가 적용이 되지 않는 경우가 있음 재부팅을 하면 해결이되나 재부팅하지 않고 exploerer의 프로세스를 죽이고( taskkill /f /im explorer.exe ) 다시 실행시키면 시스템 환경변수가 적용됨
디렉토리 구조 갖추기
먼저 다음과 같이 디렉토리 구조를 생성합니다
C:\GEOS
\archives -- 서드파티 소스의 Zip, tar.gz, tar.bz 등을 담음
\x64 -- x64으로 빌드된 바이너리와 소스를 담음
\bin -- x64으로 빌드된 서드파티 바이너리와 소스를 담음
\data -- 서드파티 데이터파일을 다음
\html -- 서드파티 정보를 담음(html형식)
\include -- 서드파티 헤더파일을 담음
\lib -- 서드파티 static/ stub 라이브라리를 담음
\share -- 메뉴얼과 기타 파일을 담음
\src -- 서드파티 소스를 담음
\x86 -- x86으로 빌드된 바이너리와 소스를 담음
\bin -- x86으로 빌드된 서드파티 바이너리와 소스를 담음
\data -- 서드파티 데이터파일을 다음
\html -- 서드파티 정보를 담음(html형식)
\include -- 서드파티 헤더파일을 담음
\lib -- 서드파티 static/ stub 라이브라리를 담음
\share -- 메뉴얼과 기타 파일을 담음
\src -- 서드파티 소스를 담음
GEOS 소스코드 다운로드
GEOS 소스코드를 C:\src\archives 경로에 다운로드 받습니다. 그리고 C:\src\x86 과 C:\src\x64 경로에 모두 풀어줍니다.
GEOS 3.5 빌드
명령프롬프트(cmd.exe)에서 32비트의 경우 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat 을 64비트의 경우 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\AMD64\bin\vcvars64.bat을 실행시켜줍니다.
※ Visual Studio의 버전에 따라서 Microsfot Visual Studio 14.0 의 경로는 달라지니 주의
C:\src\x86\src\geos-3.5.0\ 으로 가셔서 autogen.bat을 실행시켜줍니다. =>버전정보와 관련된 헤더파일을 복사해 줌
## Geos 3.5.0 에 문제가 있어서 CMake가 되지 않습니다. 아래와 같이 대처하시면 CMake를 사용하실 수 있습니다
GEOS 3.5.0에 CMake 빌드 오류 관련 이슈가 있었습니다. 현재는 수정은 되었지만 3.5.1이 배포되지 않았습니다.
1. 다음 링크로 직접 수정하실 수 있습니다. https://trac.osgeo.org/geos/ticket/753#comment:9
2. SVN 저장소의 수정된 버전 다운로드(주의 정식배포본이 아님) https://trac.osgeo.org/geos/browser/branches/3.5?rev=4204&format=zip
2.1 압축을 푼 소스의 경로에 geos_svn_revision.h 파일을 생성하여 다음의 내용을 넣고 저장을 해주세요. (4204는 리비전 번호)
#define GEOS_SVN_REVISION 4204
build 디렉토리를 생성하고 build 디렉토리로 이동하여 다음을 실행합니다.
cmake-gui ../
그리고 Configure를 누르고 NMAKE Makefile을 선택하고 다음과 같이 편집을 해 주세요.
CMAKE_BUIL_TYPE = Release
CMAKE_INTALL_PREFIX= C:\geos\x32\
GEOS_ENABLE_TEST=unchecked
그리고 다시한번 Configure 버튼을 누르고 Generate를 하시면 build 디렉토리에 NMake를 할 수 있는 환경이 갖춰집니다.
이제 명령 프롬프트로 돌아와서 NMake를 치고 100%가 될때 까지 기다리고 NMake install을 치고 기다리면 됩니다.