sqlite3 (1): windows下编译sqlite3

前端之家收集整理的这篇文章主要介绍了sqlite3 (1): windows下编译sqlite3前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

数据库,简单记录.



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

// 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


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

猜你在找的Sqlite相关文章