Беда SQLite3 под VC9 - PullRequest
       11

Беда SQLite3 под VC9

0 голосов
/ 25 апреля 2009

Я импортировал 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 ]

1 голос
/ 25 апреля 2009

Вы не должны создавать объекты типа sqlite3, только указатели. Удалить строку:

 sqlite3 db;

и все должно быть в порядке.

1 голос
/ 25 апреля 2009

Я только что заметил, что вы пытаетесь создать переменную стека типа sqlite3 с именем db . Это не сработает, так как sqlite3 - это дескриптор , и вы можете иметь только переменную-указатель. Затем вам нужно передать адрес этой переменной-указателя в sqlite3_open.

@ Нил Баттерворт заметил это немного раньше меня: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...