2012-07-20 1 views
1

저는 Code :: Blocks 및 SQLite로 완전 초보자이며 C++에 대한 기본적인 지식을 가지고 있습니다. 나는 현재 Ubuntu 11.04를 사용하고 있습니다.Code :: Blocks를 사용하여 C++ 프로그램에서 SQLite를 사용하는 방법?

SQLite Amalgamation here을 다운로드했습니다. zip 파일의 압축을 풀면 shell.c, sqlite3.c, sqlite3.hsqlite3ext.h의 네 파일이 있습니다. 단순히 (예를 들어) 콘솔 프로젝트에 해당 파일을 추가하면 오류가 발생합니다. 다운로드 한 sqlite의 .c에는 각각 자체 기능이 있습니다. 프로젝트에서 해당 코드를 제거하면 오류가 사라지고 #include "sqlite3.h"으로 전화 할 수 있습니다. this을 따르려고하고 here에서 처음 두 줄의 코드를 시도했는데 오류가 발생했습니다 : undefined reference to sqlite3_open.

콘솔 프로젝트에 .h를 직접 추가하는 것이 올바른 방법이 아닌 것 같지만 확실하지 않습니다.

정확히 어떻게 사용해야합니까? 내 C++ 프로그램에 이들을 사용하려면 어떻게해야합니까?

도움을 주시면 대단히 감사하겠습니다. :)

EDIT : 또한 this에 따라 이러한 sqlite 파일의 .a 파일을 만들려고했습니다. 시도해 보면 cannot find -lsqlite이라는 오류가 발생합니다.

답변

2

먼저 sqlite 코드를 컴파일 한 다음 #include "sqlite3.h"을 필요로하는 프로젝트에 컴파일해야합니다.

UPD : SQLite는 사이트에서

다운로드 this package을하고 "sqlite가"라는 폴더에, 말, 어딘가를 추출 : 이보십시오. 터미널을 열고이 폴더로 이동하십시오. 그 안에는

./configure 
sudo make 
sudo make install 

을 실행하고 어떤 일이 발생하는지 확인하십시오. 자동으로 만들어야합니다. 아카이브 안에있는 README 파일을 참고하십시오.

+0

감사를 일부 검색 시간을 절약 할 수 소원 그냥 일부 프로젝트에 추가하고 '프로젝트 빌드'를 수행합니까? –

+0

@GeraldTorres, 업데이트 내 대답 – SingerOfTheFall

+0

고마워 :) 내가 전에 이것을 수정하기는했지만 .. :(어쨌든 고마워 :) –

4

알았습니다. 내가 문제를 일으키는 뭔가가 있었지만 프로젝트> 빌드 옵션> 링커 설정에서 이전에 추가 한 .a 파일을 제거하는 것을 잊었습니다. 문제가 발생한 ..

다음은 내가 추가 한 단계입니다. SQLite는 (같은 문제가 발생할 수 있습니다 것들에 대한) 프로젝트의 디렉토리에 SQLite는 다음 합성에서 추출

  1. 복사합니다 파일.

  2. 가 (> 프로젝트 파일을 추가) SQLite는 파일을 추가 shell.c 제외

  3. 그것을 컴파일 (예, 간단한 Ctrl 키 + F9 키) (여러 기능 오류를 발생시키는 하나입니다).

  4. 여기에 오류 : undefined reference to pthread_mutexattr....이 있습니다. 이러한 문제는 프로젝트> 빌드 옵션> 왼쪽 상단의 DebugRelease 위의 '프로젝트 이름'강조 표시> 링커 설정으로 이동하고 에 "-lpthread" (따옴표 제외)을 추가하면 해결됩니다.

  5. 일부 오류는 undefined reference to dlopen, dlerror....입니다.이전에 추가 한 "-lpthread"바로 아래에 '-ldl "을 추가하십시오. DONE

:

1

내가 초보자 같은 Windows에 대한 완벽한 해답을 찾을 수 없습니다, 그리고 처음에 모든 것을 이해하는 것은 매우 고통스러운 것입니다. 그래서 나를 위해 일한 것이 여기 있습니다.

  1. SQlite Amalgamation 파일을 다운로드하십시오.
  2. 오픈 코드 :: 블록 -> 새 프로젝트 -> 정적 라이브러리 선택
  3. 다운로드 한 파일의 압축을 풀고 폴더/내용을 새 프로젝트 디렉토리에 복사하십시오. 모든 파일을 프로젝트에 추가하고 프로젝트을 빌드하십시오.
  4. ProjectName .a 파일은 bin/Debug 또는 bin/Release 디렉토리에 있습니다. 이 파일을 실제 SQlite 프로젝트 디렉토리에 복사하십시오.
  5. 코드로 이동하십시오 : 프로젝트 -> 빌드 옵션을 차단하십시오. '링커 설정'탭을 선택하고 .a 파일의 경로를 추가하십시오. 아직 닫지 마라 !!!
  6. '검색 디렉토리'탭에서 '컴파일러'탭을 선택하고, 아말감 헤더 파일의 경로를 추가하거나, 헤더 파일을 디렉토리에 복사합니다 (헤더 파일을 프로젝트에 추가 할 수 있음). '링커 '탭 .a 파일에 경로를 추가하십시오.
  7. 지금 컴파일하십시오! 희망이 모든 즉

를 실행, 나는 수행 .. 그것이 내가 컴파일하는 방법을 모른다 ..though 회신 : 또 다른 멍청한 놈에 대한