SQLite库可以嵌入(Link)Delphi可执行文件吗?

时间:2011-05-20 10:30:32

标签: delphi sqlite

我想知道我们是否能够将SQlite库嵌入到Delphi可执行文件中,我们可以将我们的应用程序部署为单个.exe文件而不需要任何SQlite dll文件。

嵌入不是将sqlite dll文件保存到资源中,而是链接到Delphi可执行文件。

7 个答案:

答案 0 :(得分:6)

我没有尝试过这个组件,但我计划将来使用 Delphi Inspiration - DISQLite3

还有 Synopse OpenSource SQLite3 Framework

也可以使用免费软件

答案 1 :(得分:4)

Anydac SQLite驱动程序已静态链接SQLite引擎。虽然是商业图书馆。他们有关于anydac和sqlite的article

答案 2 :(得分:4)

我们已经使用Borland的免费命令行工具C编译器和我们在Delphi中使用{$ LINK'OBJS \ sqlite3.obj'}链接的结果OBJ文件编译了SQLite3,并为我们需要的函数编写了pascal包装器。

链接时解决一些标准C库函数时出现问题,但我们在Delphi中重新实现它们。

答案 3 :(得分:4)

我遇到了同样的问题,这是我提出的解决方案。也许它可以帮到你。只需包含sqlite3,然后就可以直接访问dll函数了。我使用了已经概述的相同方法: http://simvector.com/download/delphi_sqlite3.zip

DLL只是以源代码形式编码,DLLLoader单元在运行时加载它。最终的结果是你的发行版中没有额外的DLL,代价是它一次被加载到内存中,而不是通过操作系统按需加载的部分。

我们需要它正常工作,但发行版中没有额外的dll。因此可以满足我们的需求。

答案 4 :(得分:1)

Delphi可以链接.obj文件,因此如果您有可用的文件(或编译它们的源代码),您可以将它们链接到可执行文件中。但是你不能用SQLLite dll。

IIRC DISQLite 3正是如此,请检查它。

答案 5 :(得分:0)

您可以下载SQLite开源并将其编译到任何可以编译vanilla C代码的环境中。这不是特别难。

答案 6 :(得分:0)

您可以将DLL存储在exe中,并将程序部署为一个exe。 欲获得更多信息: http://delphi.about.com/od/windowsshellapi/l/aa012103c.htm 这也可能有所帮助: Problem starting program with a dll embedded as a resource