2011/04/14

SQLite 정적라이브러리(Static Library) 만들기 (C++ Builder)

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 를 비활성화 한다.


이제 빌드만 하

Original Post : http://neodreamer-dev.tistory.com/538

No comments :

Post a Comment