2012-06-27 3 views
1

Я изучаю программирование sqlite3 на C++ в первый раз, и эта ошибка смешивает меня и мои возможности поиска в Интернете.'sqlite3_api' не был объявлен в этой области

Вот мой код, насколько он до этого бросает ошибку.

#include <iostream> 
#include <sqlite3ext.h> 

using namespace std; 

int main() 
{ 
    sqlite3 *database; 
    int check; 

    check = sqlite3_open("introdb3.db", &database); //error is here 
} 

Я уверен, что у него есть что-то делать с библиотеками, которые являются (или не являются), которые связаны между собой, но я не могу понять, как сделать его правильно.

Я нахожусь на Ubuntu, используя код :: blocks.

Спасибо!

+0

'#include ' Почему? Почему не просто '#include '? –

ответ

4

Вместо

#include <sqlite3ext.h> 

записи

#include <sqlite3.h> 

Файл sqlite3ext.h только необходим, если вы собираетесь написать SQLite расширение - пользовательскую функцию, например. Для обычного доступа к базе данных используйте sqlite3.h.

+0

Спасибо, что первая проблема исчезла, но теперь она говорит мне «неопределенная ссылка на« sqlite_open() ». Я следую учебнику, и он отформатирован так же, почему он не работает вне меня. – Paulito

+0

Потому что это 'sqlite3_open()', а не 'sqlite_open()'. Кроме того, вы ссылаетесь на sqlite3.lib? –

+1

Правильно, вот что я имел в виду, ха-ха. И теперь у меня это работает! Я проверил Synaptic, и нет такой вещи, как «sqlite3.lib», но я нашел и связал файлы, связанные с libsqlite3-dev. Я добавил их, используя их относительные пути, и теперь все это работает! Благодаря!!! – Paulito

Смежные вопросы