분류 전체보기 (199)
ººº::Development™:: (66)
ººº::Learning™:: (31)
ººº::Information™:: (37)
ººº::Note™:: (11)
ººº::Photo™:: (50)
ººº::zEtc™:: (3)
rss

믹시
tistory 티스토리 가입하기!
2008. 11. 6. 09:04
기존 솔루션을 Java에서 C++로 바꾸는 프로젝트가 진행중이다. 기존에는 Java를 사용하기 때문에 공개된 API를 가져다 사용하기 편했지만, C++로 넘어오면서는 내가 많이 사용해보지 않은 플랫폼으로 인해 라이브러리 하나 사용하기도 쉽지가 않다. 그러다가 XML을 사용하기 위해 apache xercex-c 사용이 정해진 이후 해당 라이브러리를 사용하기 위해 삽질한 흔적을 나겨본다.

xercex-c 사용을 위해 지금 현재 개발 환경을 간략하게 살펴보면, Fedora8에서 Eclipse에서 C++코딩을 하고 있다. 기본적인 Charset은 UTF-8을 사용하고 있다.

우선 xercex-c사용을 위해 해당 라이브러리르 설치하자, 설치는 간단하게 yum을 통한 install소스코드를 직접 build하는 방식이 있다. 두방식의 가장 큰 차이점은 yum을 통한 install은 내가 원하는 버전 선택이 안된다는것과, 소스코드 build는 귀찮다는 단점이 가장 큰 차이점으로 보이지만, 더 큰 차이점은 한글을 사용하는데 있어서 yum을 통해 install되는 2.7.* 버전은 한글사용에 문제점이 있기때문에 한글을 사용해야 하는 분들은 xercex-c홈페이지에서 3.* 버전을 다운받아서 build후 사용하시기 바랍니다.

1. build 방법
xercex-c 홈페이지에서 최신 버전의 xercex-c를 다운받은 후 특정 폴더에 압축을 해제한다.
$ ./configure
$ make

위와 같은 명령이후에 /usr/local/include 폴더와 /usr/local/lib 폴더에 보면 해당하는 라이브러리 파일과 헤더 파일이 존재한다. 위와 같이 존재하게 되면 빌드 자체는 성공적으로 완료된 것이다.

2. 사용방법
해당라이브러리를 사용하기 위해서는 컴파일 옵션과 실행시 해당 라이브러리를 링크해줘야 한다.
컴파일
-I(대문자 I) 옵션   : 해당 라이브러리 해더 파일이 존재하는 include 폴더를 선택해 줘야 야 함
-l(소문자 L) 옵션  : 해당 라이브러리 이름을 선택
-L                      : 해당 라이브러리가 존재하는 폴더 선택
gcc -I /usr/local/include -lxercex-c -L /home/workspace/lib

실행
실행시는 해당 라이브러리가 존재하는 PATH를 시스템에 설정해 줘야 한다. 해당 라이브러리 Path는
$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

더 자세한 내용은 해당 홈페이지를 살펴보면 편하게 사용하실 수 있을 것이다. 또한, xercex-c는 윈도우와 다른 OS에서도 사용 가능하기 때문에 해당 OS사용자들은 홈페이지를 통해 사용 방법과 설정 방법을 습득하면 될 것이다.
마지막으로 xercex-c는 dom, sax, sax2를 모두 지원한다고 나와있다. 그리고 직접 C++상에서 xml을 파싱하는 내용은 추후 다시한번 포스팅 하도록 하겠다.

:: 관련 링크 ::
apache xercex-c :: http://xerces.apache.org/xerces-c/