2012-06-27 293 views
1

我一直在C++中首次學習sqlite3編程,這個錯誤使我和我的網絡搜索能力混淆不清。'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上使用code :: blocks。

謝謝!

+0

'#include '爲什麼?爲什麼不只是'#include '? – 2012-06-27 15:34:12

回答

4

而不是

#include <sqlite3ext.h> 

#include <sqlite3.h> 

,如果你打算寫一個SQLite擴展時,才需要sqlite3ext.h文件 - 自定義函數,例如。對於常規數據庫訪問,請使用sqlite3.h

+0

謝謝,這使得第一個問題消失了,但現在它告訴我「未定義的引用'sqlite_open()。」我正在學習一個教程,它的格式也是一樣的,所以它不工作的原因超出了我的想法。 – Paulito

+0

因爲它是'sqlite3_open()',而不是'sqlite_open()'。另外,你鏈接到sqlite3.lib? –

+1

對,這就是我的意思哈哈。我現在正在工作!我檢查了Synaptic,沒有「sqlite3.lib」這樣的東西,但是我發現並鏈接了與libsqlite3-dev相關的文件。我用它們的相對路徑添加了它們,現在它工作正常!謝謝!!! – Paulito