我目前正在使用SOCIite和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);
当它到达最后一行代码时,它在运行时给出了一个分段错误。我使用了一个调试器来检查后端返回的指针是否有效,它是。我也试过调用其他原生的SQLite3 API函数,它们都会导致分段错误。我在这里错过了什么?这些是我的代码中的包含:
#include <soci.h>
#include <soci-sqlite3.h>
我也试过包含sqlite3.h,但它给出了相同的结果。我正在使用clang ++。有什么想法吗?