Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Не могу подключить Sqlite3 к Visual C++ 2008 / 11 сообщений из 11, страница 1 из 1
04.02.2010, 18:08
    #36450427
vkharseev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу подключить Sqlite3 к Visual C++ 2008
Доброго времени суток.

Я новичек в Sqlite и у меня проблема. Стоит Visual C++ 2008, ОС Vista. Скачал архив с офф. сайта в нем 3 файла - sqlite3.h, sqlite3.c и sqlite3ext.h - написано для написания ПО хватит. При компиляции указанного кода:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
#include "stdio.h"
#include "conio.h"
#include "sqlite3.h"
#include "stdlib.h"

int data_callback(void *unused, int field_num, char **fields, char **field_names);

int data_callback(void *unused, int field_num, char **fields, char **field_names){
    for(int i =  0 ; i<field_num;i++)    {
        printf("%s = %s, ",field_names[i],fields[i]);
    }
    printf("\n");
    return  0 ;
}
int main(int argc, char* argv[]){
	sqlite3 *db = NULL;
	char *zErrMsg =  0 ;
	char *dbname="phbook.db";
	int resultdb;
	char *error_msg = NULL;
	char *sql;
	resultdb=sqlite3_open(dbname,&db);
	if(resultdb!= SQLITE_OK){
		printf("Can't open database: phbook.db\n");getch();
		sqlite3_close(db);
		exit( 1 );
	};
	sql = "create table clients(id int(5) primary key, name varchar(30))";
	resultdb=sqlite3_exec(db, sql, data_callback,  0 , &error_msg);
	if(resultdb!=SQLITE_OK) {
               printf("Error %d: %s\n", resultdb, error_msg);
               sqlite3_free(error_msg);
           };
	sqlite3_close(db);
	getch();
	return  0 ;
}
Появляються такие ошибки:
error LNK2019: ссылка на неразрешенный внешний символ _sqlite3_free в функции _main
error LNK2019: ссылка на неразрешенный внешний символ _sqlite3_exec в функции _main
error LNK2019: ссылка на неразрешенный внешний символ _sqlite3_close в функции _main
error LNK2019: ссылка на неразрешенный внешний символ _sqlite3_open в функции _main
fatal error LNK1120: 4 неразрешенных внешних элементов

Брал готовый пример с офф.сайта таже борода. Файлы лежат и в корне проекта и в VC\include\
Что даляю не так? Где еще нужно указать\прописать что бы можно было работать с БД. Может чего-то не хватает? Может сменить компиллятор? Заранее спасибо.
Модератор: Используйте тег/кнопку SRC
...
Рейтинг: 0 / 0
04.02.2010, 18:19
    #36450458
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу подключить Sqlite3 к Visual C++ 2008
vkharseevЧто даляю не так? Где еще нужно указать\прописать что бы можно было работать с БД. Может чего-то не хватает?Прочитать школьный учебник, главу про модульное программирование. Узнать наконец для чего нужны объектные файлы и чем занимается линкер.

vkharseev Может сменить компиллятор?Правильно! Если поцарапал палец надо отрезать руку по локоть и пришить новую.
...
Рейтинг: 0 / 0
04.02.2010, 18:33
    #36450485
###
###
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу подключить Sqlite3 к Visual C++ 2008
vkharseev,

sqlite3.c к проекту подключил?

White Owl,

Ну все когда-то были школярами, чего так на них наезжать-то?
...
Рейтинг: 0 / 0
04.02.2010, 18:38
    #36450498
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу подключить Sqlite3 к Visual C++ 2008
###vkharseev,

sqlite3.c к проекту подключил?

White Owl,

Ну все когда-то были школярами, чего так на них наезжать-то?

Разве это наезд - написано в старом добром стиле рубрики "письма читателей" в журнале "Юность" :-)
...
Рейтинг: 0 / 0
04.02.2010, 18:39
    #36450502
vkharseev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу подключить Sqlite3 к Visual C++ 2008
как его подключить? как код .cpp? или #include <sqlite3.c>
...
Рейтинг: 0 / 0
04.02.2010, 18:40
    #36450506
vkharseev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу подключить Sqlite3 к Visual C++ 2008
и попрошу без насмешек, я можно сказать только учусь...
...
Рейтинг: 0 / 0
04.02.2010, 18:46
    #36450517
vkharseev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу подключить Sqlite3 к Visual C++ 2008
Дайте пожалуйста вразумительный ответ что мне нужно зделать что бы компилятор прохавал...
sqlite3.c подключал разными способами - количество ишибок возврастает до 106!
...
Рейтинг: 0 / 0
04.02.2010, 18:52
    #36450528
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу подключить Sqlite3 к Visual C++ 2008
1) Срочно учить C/C++ если не понимаешь структуры C/C++ программы.
C модули включаются в проект - т.е. компилируются, а далее объектные
модули подсовываются линкеру. Не #include !
2) Если что-то не получается, то телепатов здесь нет, что бы почуять
что ты делал и что же сказал компилятор. Говори - что делал и как
компилятор ругался.
...
Рейтинг: 0 / 0
04.02.2010, 19:10
    #36450561
vkharseev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу подключить Sqlite3 к Visual C++ 2008
в проекте в раздел "Файлы исходного кода"
внес скачаный с-шный код (sqlite.c), добавляю в начало #include "stdafx.h". вручную его компилирую - вываливается 2-3 экрана ошибок такого плана:

1>d:\документы\phone book\phone book\phone book\sqlite3.cpp(11806) : error C2440: =: невозможно преобразовать 'void *' в 'char *'
1> Для преобразования 'void*' к указателю на тип, не являющемуся 'void', требуется явное приведение
1>d:\документы\phone book\phone book\phone book\sqlite3.cpp(12500) : error C2440: =: невозможно преобразовать 'void *' в 'sqlite3_int64 *'
1> Для преобразования 'void*' к указателю на тип, не являющемуся 'void', требуется явное приведение
............................
1>d:\документы\phone book\phone book\phone book\sqlite3.cpp(19650) : error C2227: выражение слева от "->chain" должно указывать на тип класса, структуры или объединения либо на универсальный тип
1>d:\документы\phone book\phone book\phone book\sqlite3.cpp(19652) : error C2027: использование неопределенного типа "_ht"
1> d:\документы\phone book\phone book\phone book\sqlite3.cpp(19536): см. объявление '_ht'
1>d:\документы\phone book\phone book\phone book\sqlite3.cpp(19652) : error C2227: выражение слева от "->count" должно указывать на тип класса, структуры или объединения либо на универсальный тип
1>d:\документы\phone book\phone book\phone book\sqlite3.cpp(19737) : error C2664: insertElement: невозможно преобразовать параметр 2 из 'Hash::_ht *' в '_ht *'
...
Рейтинг: 0 / 0
04.02.2010, 19:34
    #36450591
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу подключить Sqlite3 к Visual C++ 2008
не надо в sqlite.c добавлять всякую фигню. И переименовывать его в .cpp

Проект Win32 console app / Precompiled header off

Все отлично компилится VS2008
...
Рейтинг: 0 / 0
04.02.2010, 19:58
    #36450623
vkharseev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не могу подключить Sqlite3 к Visual C++ 2008
Siemarglне надо в sqlite.c добавлять всякую фигню. И переименовывать его в .cpp

Проект Win32 console app / Precompiled header off

Все отлично компилится VS2008

Огромное спасибо. Пересоздал проект при этом убрал птичку Precompiled header.
Сделал те же операции но не переименовывал в cpp и все заработало.
Отлака прошла успешно, БД создана и таблица добавлена...
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Не могу подключить Sqlite3 к Visual C++ 2008 / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]