无法加载 SQLite 扩展
can't load SQLite extension
#include <sqlite3ext.h>
...
QVariant v = metaDataBase.driver()->handle();
if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*")==0) {
sqlite3 *handle = *static_cast<sqlite3 **>(v.data());
if (handle != 0) {
int res = sqlite3_enable_load_extension(handle,1);
if (res == SQLITE_OK) {
res = sqlite3_load_extension(handle,"libSqliteIcu.so",0,0);
if (res == SQLITE_OK) qDebug() << "Sqlite3 loaded ICU extension sucessfully";
else qDebug() << "Sqlite3 failed loading ICU extension";}
else qDebug() << "Sqlite3 failed enabling load extension";}}
,结果是
'sqlite3_api'未在此范围内声明
表示
行res = sqlite3_load_extension(handle,"libSqliteIcu.so",0,0);
如何使它工作?
sqlite3ext.h
中的注释说:
这个头文件定义了SQLite接口希望作为扩展导入的共享库一个SQLite实例。打算加载的共享库作为SQLite的扩展应该#包含这个文件,而不是sqlite3.h .
您的应用程序不是共享库。要使其工作,只需使用sqlite3.h
。
相关文章:
- 查询SQLite数据库中的日期
- 带内存和隔离功能的SQLite
- 是否可以通过C++扩展强制多个python进程共享同一内存
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- 如何将这个C++哈希表转换为动态扩展和收缩,而不是使用硬设置的最大值
- 扩展光电二极管探测器以支持多个传感器
- Qt SQLite没有查询或参数计数不匹配
- Qt SQlite无法创建表
- C++中的VLA,扩展名为std=C++11
- OpenGL 和 GLM 矩阵无法正确扩展,总是按比例缩小
- 基于范围的 for 循环:迭代使用一个元素扩展的向量
- C++返回 Numpy 数组的 Python 扩展模块
- 扩展可变参数模板中的变量名称
- 扩展C++生成的代码的模板参数类型名称
- 我想通过带有C++和Python的插件创建一个可扩展的应用程序
- VSCode IntelliSense无法识别SDL框架的SDL_image扩展库
- 将元组类型扩展为可变参数模板?
- SQLite是否使用SQLCipher扩展泄漏内存
- 无法加载 SQLite 扩展
- 访问数据从sqlite数据库在谷歌chrome扩展