wxSqlLite3 в wxWidgets - PullRequest
       6

wxSqlLite3 в wxWidgets

0 голосов
/ 01 марта 2012

У меня есть вопрос, как я могу использовать wxSqlLite в моих приложениях wxWidgets?Я скачал wxSqlite3 для wxWidgets 2.9x и собрал его, но только статическая win32 отладка win32 и статическая win32 версия win32 скомпилированы без ошибок.Как я могу добавить wxSqllite к своему проекту?Мой идеал - Visual C ++ 2008.

Ответы [ 2 ]

3 голосов
/ 01 марта 2012

Вам НЕ НУЖНО использовать wxSQLite.Вы можете просто вызвать API SQLite прямо из своего кода.Для знакомства с API требуется час или два, но затем он делает все, что вам нужно, не беспокоясь о связывании вашей сборки с еще одним пакетом.

SQLite API - это библиотека.Существует несколько способов его установки.Я заметил, что сайт SQLite немного расплывчат в этом вопросе.Вот что я делаю.

Загрузите zip, содержащий предварительно скомпилированную DLL, из http://sqlite.org/sqlite-dll-win32-x86-3071000.zip

. Это даст вам DLL, которая должна находиться в папке, где работает ваш исполняемый файл.

Это также даст файл определения экспорта (.def).Это должно быть преобразовано в файл .lib, чтобы на него можно было ссылаться.Вы делаете это с помощью утилиты lib.

Вам также нужен заголовочный файл sqlite3.h, который входит в объединение, загруженное из http://sqlite.org/sqlite-amalgamation-3071000.zip

Если все это кажется большой проблемойВы можете альтернативно использовать объединение.Просто скачайте объединение и добавьте два файла в ваш проект.Недостатком этого является то, что вам придется собирать код SQLite снова и снова, замедляя процесс сборки, и весь код будет статически связан с каждым исполняемым файлом.В настоящее время сборки выполняются на современных компьютерах настолько быстро, что стоимость использования объединения вполне стоит выигрыша в простоте.В наши дни я никогда не использую DLL.

2 голосов
/ 03 марта 2012

Конечно, можно использовать API SQLite напрямую, как указывало ravenspoint, но wxSQLite3 упрощает интеграцию баз данных SQLite с приложениями C ++ на основе wxWidgets.API wxSQLite3 похож на JDBC и ODBC.wxSQLite3 заботится о преобразовании объектов wxString в и из UTF-8, одного из 2 кодировок (UTF-8 или UTF-16), ожидаемых SQLite;wxSQLite3 поддерживает создание пользовательских функций как классов C ++;и добавляет несколько других функций, таких как резервное копирование и восстановление баз данных, коллекции значений, поддержка различных представлений даты и времени и так далее.wxSQLite3 может загружать библиотеку SQLite DLL во время выполнения, не требуя библиотеки ссылок, если вам так больше нравится, она просто устанавливает флаг времени компиляции.

Добавление wxSQLite3 в проект очень просто: создать библиотеку DLL или статическую библиотеку, используя файлы сборки(включая решение VC ++ 2008), поставляемый с wxSQLite3, или просто добавьте один исходный файл C ++ и несколько файлов заголовков в свой проект.

В случае затруднений задайте свои вопросы на форуме разработчиков wxWidgets .

...