2008/12/07 - [Dev Story/Tips] - C++ Builder 용 SQLite 정적 라이브러리 만들기

SQLite 3.7.5 버전 후로는 ICU 모듈이 추가되어 이를 포함해 주가나 기능을 비 활성화 해야하는데 C++ Builder 의 경우 포함하는데 어렵다. ICU 사이트에서도 테스트된 컴파일러가 Visual C++ 이라고 명시되어 있기도 하다.

그래서 이 기능을 비활성화 하는 것으로 방향을 설정 하였다.

우선 C++ Builder 에서 Static Library 프로젝트를 생성한다. 
프로젝트 폴더에 sqlite-preprocessed-3070601.zip 의 파일들과 sqlite-src-3070601.zip 의 sqlite-src-3070601/ext/rtree 폴더에 포함되어 있는 sqlite3rtree.h 파일을 복사 한 후 fts1*, fts2* 그리고 tclsqlite.c 파일을 제외하고 프로젝트에 포함 시킨다.

Project 속성의 C++ Compiler / Directories and Conditional 에서 Conditional Defines 에 아래 내용을 추가한다.
NO_TCL
SQLITE_ENABLE_BROKEN_FTS1=1
SQLITE_ENABLE_BROKEN_FTS2=1

그리고  C++ Compiler / Pre-compiled headers 에서 Pre-compiled header 를 사용하지 않음으로 설정한다.

마지막으로 SQLITE_ENABLE_ICU 을 사용하는 파일들을 찾아서 파일 첫줄에 #undef SQLITE_ENABLE_ICU 입력하여 ICU 를 비활성화 한다.

이제 빌드만 하면 된다.
Posted by NeoDreamer
:
BLOG main image
사람의 발목을 잡는건 '절망'이 아니라 '체념'이고 앞으로 나아가게 하는건 '희망'이 아니라 '의지'다. - 암스 중에서 - by NeoDreamer

공지사항

카테고리

전체보기 (793)
Life Story (1)
Thinking (2)
Nothing (5)
---------------* (0)
Dev Story (701)
Com. Story (80)
IT Story (1)
---------------+ (0)
Etc (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :
05-04 12:35