如何在Windows上的D语言程序中使用SQLite库?

时间:2013-12-23 22:34:34

标签: dll sqlite d

如何在Windows上的 D 语言程序中使用 SQLite3 库?

我在Ubuntu上找到了similar question,但在我的情况下它没有用。

import std.stdio, std.string, etc.c.sqlite3;

void main () {
  sqlite3* db;
  auto ret = sqlite3_open (toStringz("mydb.s3db"), &db);
  writeln (ret);
}

正如我所假设的, sqlite3.d 是真正的SQLite3库的某种标头。我有一个 sqlite3.dll ,但我不知道如何将它与我的程序相关联。 pragma仅适用于lib formate(如pragma(lib, "sqlite3"))。

也许我应该使用 SQLite 来源,但是如何将它与 D 代码一起编译?或者找到将 dll 转换为 lib 的方法更好?

D 中解决此类问题的一般方法是什么?

2 个答案:

答案 0 :(得分:5)

  

或者找到将 dll 转换为 lib 的方法更好吗?

是。从问题Statically linking SQLite with DMD (Windows x86)开始,只需使用implib开关通过/system运行.dll文件(与生成的.lib文件链接仍将导致动态链接和.dll的依赖关系文件)。

答案 1 :(得分:3)

您还可以使用Digital Mars C编译器编译sqlite源(带修改),然后会为您提供一个可以静态链接的目标文件。