在eclipse中添加sqlite3.h

时间:2013-12-02 20:15:21

标签: c++

您好我正在尝试将我的c ++应用程序连接到sqlite db.I已经下载并包含了此链接后的sqlite3.dll http://www.forexfactory.com/showthread.php?p=5250053 但我还是得到了

包括未解决的包含。

我的代码

 #include <iostream>
using namespace std;
 #include <sqlite3.h>

 int main (int argc, const char * argv[]) {

sqlite3 *db;
sqlite3_open("test.db", & db);

   string createQuery = "CREATE TABLE IF NOT EXISTS items (busid INTEGER PRIMARY KEY, ipaddr TEXT,    time TEXT NOT NULL DEFAULT (NOW()));";
   sqlite3_stmt *createStmt;
  cout << "Creating Table Statement" << endl;
  sqlite3_prepare_v2(db, createQuery.c_str(), createQuery.size(), &createStmt, NULL);
   cout << "Stepping Table Statement" << endl;
   if (sqlite3_step(createStmt) != SQLITE_DONE) cout << "Didn't Create Table!" << endl;

   string insertQuery = "INSERT INTO items (time, ipaddr) VALUES ('test', '192.168.1.1');"; // WORKS!


   sqlite3_stmt *insertStmt;
   cout << "Creating Insert Statement" << endl;
   sqlite3_prepare(db, insertQuery.c_str(), insertQuery.size(), &insertStmt, NULL);
   cout << "Stepping Insert Statement" << endl;
   if (sqlite3_step(insertStmt) != SQLITE_DONE) cout << "Didn't Insert Item!" << endl;

cout << "Success!" << endl;

 return 0;
}

2 个答案:

答案 0 :(得分:0)

尝试使用#include <sqlite3.h>更改#include "sqlite3.h"(如果您将该文件与主源文件放在同一文件夹中)。它可能与编译器搜索包含文件的方式有关。有关MS编译器如何搜索包含路径的详细信息,请参阅this description

答案 1 :(得分:0)

对于Windows,请转到SQLite Download page并下载源文件。然后将它们放在程序包含搜索路径中的某个位置。您可能需要将<sqlite3.h>更改为"sqlite3.h",因为它不是系统包含的。

对于Debian / Ubuntu和衍生产品,您需要安装-dev包:

  

sudo apt-get install libsqlite3-dev

我不得不重启Eclipse以使其识别存在的头文件。