加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite3 (1): windows下编译sqlite3

发布时间:2020-12-12 19:57:33 所属栏目:百科 来源:网络整理
导读:数据库,简单记录. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Being --

数据库,简单记录.



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Being -- 转载:http://www.cnblogs.com/xFreedom/archive/2012/04/04/2432386.html

2、编译生成Win32平台下的动态链接库(*.dll)。

(1)创建一个Win32 Project,选择一个空的Dll工程,工程名为“sqlite_win32_dll”;


(2)将sqlite-amalgamation-3071100.zip解压后的sqlite3.c、sqlite3.h、sqlite3ext.h,将sqlite-dll-win32-x86-3071100.zip解压后的sqlite3.def模块定义文件一起添加到工程中,在Preprocessor中加入SQLITE_ENABLE_COLUMN_METADATA,编译通过即可生成dll,但此时只生成了sqlite_win32_dll.dll文件,没有生成对应的引入库(sqlite_win32_dll.lib)文件,具体方法是如下:

修改sqlite3.c文件中的SQLITE_API宏定义(当前版本在sqlite3.c的第26行),将

# define SQLITE_API修改成

# define SQLITE_API __declspec(dllexport)

重新编译即可生成sqlite_win32_dll.dll和sqlite_win32_dll.lib。

或者直接把sqlite3.def添加在Linker--->Input--->Module Definition File中也可以搞定(推荐)。

// End -- 转载:http://www.cnblogs.com/xFreedom/archive/2012/04/04/2432386.html

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

他其中说道了一个关键点:

使sqlite3导出函数有2个办法:

1.

# define SQLITE_API __declspec(dllexport)

2.直接把sqlite3.def添加在Linker--->Input--->Module Definition File中也可以搞


我尝试了这2个办法,结果办法1可以成功,办法2报错:

1>sqlite3.def : error LNK2001: unresolved external symbol sqlite3_rtree_geometry_callback
1>sqlite3.def : error LNK2001: unresolved external symbol sqlite3_rtree_query_callback


先记录下来,暂时没有时间查询,等有时间再补上。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读