gpt4 book ai didi

sqlite - 在 Ubuntu 上的 D 程序中使用 Sqlite 最简单的方法是什么?

转载 作者:IT王子 更新时间:2023-10-29 06:25:04 24 4
gpt4 key购买 nike

我想使用 phobos.etc.c.sqlite3 绑定(bind)。使用 C 编译器编译 sqlite3.c 以生成 .o 文件,然后将其与我的程序链接。

我应该使用哪个 C 编译器,以及哪些编译器标志?是否可以一步将 sqlite3.o 与 DMD 链接起来,而无需单独调用链接器?

或者还有其他更简单的方法吗?

答案:如何在 64 位 Ubuntu 上使用 D 运行 Sqlite

  1. 安装 sqlite dev sudo apt-get install libsqlite3-dev

  2. 编译dmd test.d -L-ldl -L/usr/lib/x86_64-linux-gnu/libsqlite3.a

测试.d

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

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

-ldl 开关是因为 sqlite3 linking problems 需要的

最佳答案

只要安装了 sqlite3 开发包,就可以调用 dmd test.d -L-lsqlite3 -- 不需要绝对路径。

一个不错的选择是 lib pragma:

pragma(lib, "sqlite3");

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

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

有了它,你可以说 dmd test.d

我无法使用 -ldl 重现您的问题,但也可以将其添加为 pragma 指令。

关于sqlite - 在 Ubuntu 上的 D 程序中使用 Sqlite 最简单的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6664109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com