c++에 해당하는 글 1

Windows에서 GEOS 3.5 빌드

카테고리 없음|2016. 5. 4. 16:24

이 글은 Windows 10 환경의 Visual Studio 2015을 기준으로 작성되었습니다.

GEOS는 JAVA JTS(Java Topology Suite)를 C++로 포팅한 라이브러리입니다. C/C++에서 벡터 데이터의 위상관계분석과 공간연산등에 사용되는 기하 처리 엔진입니다.

Windows 환경에서 GEOS를 빌드하려면 다음의 조건을 갖추어야합니다.

※ 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을 치고 기다리면 됩니다.



댓글()