sinpool 发表于 2013-1-30 01:04:54

使用banyun的SQLite3-D的准备

最近想使用sqlite3,
但是,在编译我的D源文件时,
一直出现Symbol Undefined错误,
这些没有定义的函数和类命名都在sqlite3.d中有定义,
为什么还报错呢?

原来从banyun下载的SQLite3-D是D源代码,
并不是编译后的lib文件,
所以,需要实现编译成lib文件。

作为Java程序员的我,
此时确实忽略了这个步骤。

下面记录了解决办法,
以便日后查阅:

在D2中使用sqlite3的准备:
1、
从https://github.com/bayun/SQLite3-D下载SQLite3-D所需的文件,
* sqlite3_bindings.d - binding for most recent version of SQLite
* sqlite3.d - OO wrapper

2、
将下载的sqlite3_bindings.d和sqlite3.d,
编译成lib文件,
以便开发时使用。
dmd sqlite3.d sqlite3_bindings.d -lib -ofsqlite3_bayun.lib
生成的lib文件名叫:sqlite3_bayun.lib

3、
根据SQLite3-D对应的sqlite版本,
在www.sqlite.com中下载对应的sqlite3.dll文件,
之后,利用implib工具(http://www.digitalmars.com/download/freecompiler.html)
导出D所需的sqlite3.lib文件(OMF格式)

4、
然后,
编写代码时候就可以使用打包好的sqlite3_bayun.lib了。
注:
编译的时候,别忘记追加sqlite3.lib和sqlite3_bayu.lib,
要不然会出现很多Symbol Undefined错误。
页: [1]
查看完整版本: 使用banyun的SQLite3-D的准备