VC9下的SQLite3麻烦

时间:2009-04-24 20:34:28

标签: c++ sqlite

我将sqlite3.c sqlite3.h导入到我的项目中 - 我在编译时遇到了问题。

错误:

1>c:\...\storage_manager.h(7) : error C2079: 'storage_manager::db' uses undefined struct 'sqlite3'
    1>storage_manager.cpp
    1>c:\...\storage_manager.h(7) : error C2079: 'storage_manager::db' uses undefined struct 'sqlite3'
    1>ui_manager.cpp
    1>c:\...\storage_manager.h(7) : error C2079: 'storage_manager::db' uses undefined struct 'sqlite3'

代码:

#pragma once
#include "sqlite3.h"
class storage_manager
{
    sqlite3 db;
    sqlite3** db_pp;
public:
    void open()
    {
        sqlite3_open("data.db", db_pp);
    }
};

2 个答案:

答案 0 :(得分:1)

我刚刚注意到您尝试创建一个名为 sqlite3 的堆栈变量,名为 db 。这不起作用,因为sqlite3是一个句柄,你只能有一个指针变量。然后,您需要将该指针变量的地址传递给sqlite3_open。

@Neil Butterworth发现它比我早一点: - )

答案 1 :(得分:1)

你不应该创建sqlite3类型的对象,只能创建指针。删除行:

 sqlite3 db;

一切都应该没问题。

相关问题