本方法来自:
https@//stackoverflow。com/questions/37912845/static-link-sqlite-in-lazarus
将 dll 作为资源存储在可执行文件中的部分很容易做到。将其写出为临时文件也很容易。问题是您无法告诉 TSQLite3Connection 组件之后在哪里找到它。因此它会在可执行文件的文件夹或系统文件夹中查找。这两个文件夹都不一定可以由可执行文件写入。您可以保证程序能够写入的唯一位置是临时文件夹。所以我所做的是创建了 TSQLite3Connection 组件的新版本,称为 TSQLite3DynConnection,这意味着您可以动态指定 DLL 的位置。我创建了一个名为 ClientLibrary 的已发布属性,您可以在其中指定 dll 的位置(它不必以 .dll 结尾,因此您可以使用系统临时文件名生成例程)。您可以从以下位置获取此组件:https@//icculus。org/~kfitzner/misc/sqlite3dyndll.zip。它将针对 Lazarus 1.6.2 FP 3.0.0 或 FP 1.0.6 / FP 2.6.0 进行编译,