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 에 아래 내용을 추가한다.
그리고 C++ Compiler / Pre-compiled headers 에서 Pre-compiled header 를 사용하지 않음으로 설정한다.
마지막으로 SQLITE_ENABLE_ICU 을 사용하는 파일들을 찾아서 파일 첫줄에 #undef SQLITE_ENABLE_ICU 입력하여 ICU 를 비활성화 한다.
이제 빌드만 하면 된다.
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 를 비활성화 한다.
이제 빌드만 하면 된다.
'Dev Story > Tips' 카테고리의 다른 글
C++ Builder XE 에서 TImage 에 PNG 파일 보여주기 (0) | 2011.06.16 |
---|---|
외곽선 정보를 담고있는 Sequence 에서 포인트 정보 가져오기 (0) | 2011.06.07 |
SQLite 정적라이브러리(Static Library) 만들기 (Visual C++) (0) | 2011.04.14 |
C++ Builder XE 에서 Win 7 Taskbar Button 제어하기 (0) | 2011.04.07 |
Dialog based 프로젝트에서 Windows 7 Taskbar 아이콘에 Progress 출력하기 (0) | 2011.04.06 |