Как получить доступ к собственному API SQLite3 через SOCI?

В настоящее время я использую SOCI с SQLite3. Все работало нормально, пока я не дошел до того, что мне нужно было вызвать встроенную функцию SQLite3, чтобы разрешить загрузку пользовательских расширений в мою базу данных ( http://www.sqlite.org/loadext.html). Вот код, который я использую:

sqlite3_session_backend* backend;
backend = static_cast<sqlite3_session_backend *>(databaseSession.get_backend());
sqlite_api::sqlite3* db = backend->conn_;
sqlite_api::sqlite3_enable_load_extension(db, 1);

Это дает мне ошибку сегментации во время выполнения, когда она достигает последней строки кода. Я использовал отладчик, чтобы проверить, верен ли указатель, который возвращает бэкэнд, и это так. Я также пытался вызвать другие функции API SQLite3, и все они приводят к ошибке сегментации. Что мне здесь не хватает? Это включения в мой код:

#include <soci.h>
#include <soci-sqlite3.h>

Я также попытался включить sqlite3.h, но он дает тот же результат. Я использую Clang++. Есть идеи?

0 ответов

Другие вопросы по тегам