#1: Работа с БД SQLite Author: Maximus, Location: Украина, Кировоградская обл., г. ЗнаменкаPosted: Tue Dec 28, 2010 16:56 Ребяты, поделитесь опытом, у кого он есть по этому поводу.
Никак не могу уяснить как правильнее/удобнее использовать библиотеку SQLite.
Использую wrapper CppSQLite3U от Tyushkov Nikolay созданный на основе CppSQLite3 от Rob Groves. Работаю в среде C++ Builder.
Если сделать sqlite3.lib (из sqlite3.dll) и подключить потом его к проекту, то во время отладки все прекрасно работает.
Думалось, что потом положу плагин и sqlite3.dll рядом с ним и все будет работать. Но при попытке установить плагин в ТС ругается, что в системе не установлены все необходимые DLL.
Следующий способ. Попытался воспользоваться исходниками sqlite3.h, sqlite3.c (и все что в sqlite-amalgamation входит). Тут имею проблему на этапе линковки:
Code:
[ILINK32 Error] Error: Unresolved external '_sqlite3_close' referenced from D:\MAXIMUS\PROJECTS\TCPHONEBOOK\DEBUG_BUILD\UNCPPSQLITE3U.OBJ
Ранее имел опыт подключения экспортируемых функций библиотеки при помощи GetProcAddress. Но тут придется править wrapper, а этого мне не хочется.
Кто может ткнуть пальцем в проблему или поделиться полезным для меня кусочком кода (язык программирования принимается любой) - милости прошу :)
#2: Author: Loopback, Posted: Tue Dec 28, 2010 17:53 Cтолкнулся c похожей проблемой, когда делал базу для TCMediaInfo. Но там просто из-за статической линковки плагин переставал работать, если убрать библиотеку из каталога плагина. Пришлось делать динамическую загрузку.
Не знаю, поможет ли, но вот компонент, который использую сейчас (Delphi):
В файле SQLite3d.pas и размещен весь код по динамической загрузке библиотеки и определению функций.
#3: Author: Maximus, Location: Украина, Кировоградская обл., г. ЗнаменкаPosted: Tue Dec 28, 2010 18:14 Loopback
Спасибо. Забрал. Думаю пригодится.
Но пока дело оказалось только в умеренной кривости моих рук :)
Имею в виду попытку подключения исходников sqlite3 к проекту. Забыл подключить sqlite3.c.
Всё скомпилировалось. Но напоролся на непонятную проблему при автоустановке плагина.